【发布时间】:2011-06-02 18:47:20
【问题描述】:
我有两个Dates。如何区分这两个日期的天数?
听说过SimpleDateFormat,但是不知道怎么用。
我试过这个:
String fromdate = "Apr 10 2011";
SimpleDateFormat sdf;
sdf = new SimpleDateFormat("MMM DD YYYY");
sdf.parse(fromdate);
Calendar cal = Calendar.getInstance();
cal.setTime(sdf);
我也试过这个:
String date1 = "APR 11 2011";
String date2 = "JUN 02 2011";
String format = "MMM DD YYYY";
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date dateObj1 = sdf.parse(date1);
Date dateObj2 = sdf.parse(date2);
long diff = dateObj2.getTime() - dateObj1.getTime();
int diffDays = (int) (diff / (24* 1000 * 60 * 60));
System.out.println(diffDays);
但我得到了例外“非法模式字符'Y'。”
【问题讨论】:
-
你说的差异是什么意思?您想测试哪个时间更远,还是只想知道它们是否不同?
-
有什么区别?毫秒?天?天,小时,分钟?等等请注意
DD和YYYY是无效的天数和数年模式。阅读 javadoc:download.oracle.com/javase/6/docs/api/java/text/… -
非常感谢,我需要几天的差异
-
我试过这样:String date1 = "APR 11 2011";字符串 date2 = "2011 年 6 月 2 日";字符串格式 = "MMM DD YYYY"; SimpleDateFormat sdf = new SimpleDateFormat(format);日期 dateObj1 = sdf.parse(date1);日期 dateObj2 = sdf.parse(date2);长差异 = dateObj2.getTime() - dateObj1.getTime(); int diffDays = (int) (diff / (24* 1000 * 60 * 60)); System.out.println(diffDays);但得到一个例外“非法模式字符'Y'”
标签: java date days elapsedtime elapsed