我评估我的项目从使用迁移乔达时间到java.time包中的Java 8.在Joda-Time,我大量使用了这门Interval课程.我在java.time中找不到这样的东西.
有类似的课吗?
如果我可以使用Java 8 Date and Time API(java.time),有没有理由使用Joda Time ?
我应该每次都使用Java 8日期和时间吗?
Java Date类中是否存在Java等效的DateTime.MinValue和DateTime.Today?还是一种实现类似的方式?
我已经意识到你对.NET datetime类的破坏程度,我还需要相当于AddDays(),AddMonths().
我正在努力在spring-boot REST API应用程序中转换一些模型,以使用java 8 java.time.LocalDateTime而不是joda DateTime.我希望API调用返回的时间戳符合ISO_8601格式.动机是与Java 8的时间向前兼容(更多这里).
证明困难的部分是序列化包含LocalDateTimeJSON 的对象.
例如,我有以下实体:
// ... misc imports
import java.time.LocalDateTime;
import java.time.ZoneOffset;
@Data
@Entity
@Table(name = "users")
public class User {
@Id @Column
private String id;
@Column
private String name;
@Column
private String email;
@Column
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC")
private java.time.LocalDateTime createdAt;
public User(String name, String email) {
this.id = Utils.generateUUID();
this.createdAt = LocalDateTime.now(ZoneOffset.UTC);
}
}
Run Code Online (Sandbox Code Playgroud)
我还设置了application.properties关闭日期作为时间戳杰克逊功能:
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS = false
Run Code Online (Sandbox Code Playgroud)
我的maven deps: …
在这个页面上我读了以下内容:
要使用日期进行计算,这也很容易.与目前Java <1.8的情况相比,可能是最好的改进:
Period p = Period.of(2, HOURS);
LocalTime time = LocalTime.now();
LocalTime newTime = time.plus(p); // or time.plus(5, HOURS); or time.plusHours(5);
Run Code Online (Sandbox Code Playgroud)
我没有清楚地看到版本<1.8之前的优势.
也许有人可以举个例子?Atm我问自己,新的日期和时间API的改进来自哪里.
我正在尝试将.docx文件读入a JTextPane,但它给出了一些例外.我正在使用POI库.我该怎么办?请帮帮我.这是我的代码:
file = new File(
"C:\\Users\\Siddique Ansari\\Documents\\CV Parser\\Siddique_Resume.docx");
FileInputStream fis=new FileInputStream(file.getAbsolutePath());
XWPFDocument document=new XWPFDocument(fis);// line no 549
extractor = new XWPFWordExtractor(document);
String fileData = extractor.getText();
Document doc = jTextPane1.getDocument();
System.out.println(fileData);
doc.insertString(doc.getLength(), fileData, null);
Run Code Online (Sandbox Code Playgroud)
这是Exception:
Exception in thread "AWT-EventQueue-0"
java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at cvparser.ExcelSheet.jButton3ActionPerformed(ExcelSheet.java:549)
at cvparser.ExcelSheet.access$400(ExcelSheet.java:39)
at cvparser.ExcelSheet$5.actionPerformed(ExcelSheet.java:219)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) … 我的任务是编写一个记录飞行数据的程序,所以我决定制作一个飞行物体.
在此对象内是出发时间和到达时间.我不确定哪个对象最适合用于此,我希望将时间存储在24小时(hh:mm)时间内,并能够以小时和分钟计算飞行持续时间(hh:mm) ,我看过文档,我遇到了3个不同的时间对象.
1 java.util.Date
longs.2 java.sql.Date
longs进行操作.3 java.sql.Time
Time(long)构造函数.对我来说不是很有用,因为这意味着我需要在创造时间之前将每次转换为多头.TL;博士:
是否有任何库可以创建一个看起来像这样的时间
(pseudocode):
Object time = new Constructor(23,11)
Run Code Online (Sandbox Code Playgroud)
这不是"弃用"所以我不必先转换为long.或者,我必须自己制作Object?
我使用下面的代码来计算两个日期之间的年数、月数和天数 Joda-Time
public void getDateDiff(View view) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy").withLocale(Locale.US);
DateTime startDate = null;
DateTime endDate = null;
// expected output 23...2....29
try {
startDate = formatter.parseDateTime("01/09/1995");
endDate = formatter.parseDateTime("30/11/2018");
Period period = new Period(startDate, endDate);
Log.e("No Of Years : ", period.getYears() + " Years, ");
Log.e("No Of Months : ", period.getMonths() + " Months, ");
Log.e("No Of Days : ", period.getDays() + " Days, ");
tvResult.setText(String.format("No Of Years : %d Years, \nNo Of Months : %d Months, \nNo …Run Code Online (Sandbox Code Playgroud) 除了字符串解析之外,将字符串格式"YYYY-MM"中的日期转换为Java中的Date对象的最佳方法是什么?
我试过的是下面的内容.
String expirationDateArr[] = dateStr.split("-");
Run Code Online (Sandbox Code Playgroud)
然后提取月份和年份以创建Date对象.
java ×6
java-8 ×4
java-time ×4
datetime ×3
jodatime ×3
android ×1
apache-poi ×1
date ×1
deprecated ×1
docx ×1
jackson ×1
spring-boot ×1
swing ×1