【发布时间】:2018-05-19 23:50:10
【问题描述】:
我创建了一个应用程序,当您单击名为“计算差异”的按钮时,它会在两个日期之间产生差异,但我不知道这段代码有什么问题。我尝试了不同的方法,但没有任何结果。如果你能帮助我,我将不胜感激。
public class DateForm extends javax.swing.JPanel {
String date1 = "26/02/2011";
String time1 = "11:00 AM";
String date2 = "27/02/2011";
String time2 = "12:15 AM";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm a");
private Object dateObj1;
private Object dateObj2;
public DateForm() {
initComponents();
}
private void btnActionPerformed(java.awt.event.ActionEvent evt) {
try {
Date dateObj1 = sdf.parse(date1 + " " + time1);
} catch (ParseException ex) {
Logger.getLogger(DateForm.class.getName()).log(Level.SEVERE, null, ex);
}
try {
Date dateObj2 = sdf.parse(date2 + " " + time2); // TODO add your handling code here:
} catch (ParseException ex) {
Logger.getLogger(DateForm.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(dateObj1);
System.out.println(dateObj2);
long diff = dateObj2.getTime() - dateObj1.getTime();
double diffInHours = diff / ((double) 1000 * 60 * 60);
System.out.println(diffInHours);
System.out.println("Hours " + (int)diffInHours);
System.out.println("Minutes " + (diffInHours - (int)diffInHours)*60 );
}
}
【问题讨论】:
-
程序有什么问题?错误消息(如果是,请发布错误消息)?不需要输出?
-
这段代码有什么问题?当构建 API 中的(更好的)功能已经提供时,您将进行手动日期/时间计算
-
你能给我一些示例输入和输出吗?
-
请分享示例输入和输出。
-
仅供参考,麻烦的旧日期时间类,如
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat现在是 legacy,被 Java 8 及更高版本中内置的 java.time 类所取代.见Tutorial by Oracle。
标签: java methods netbeans compiler-errors java.util.date