public static void main(String[] args) throws ParseException {
// create a date
Date date = new Date();
long diff = date.getTime();
Date date1 = new Date(2013, 10, 1, 11, 6);
long diff1 = date1.getTime();
System.out.println("date is 1-10-2013, " + diff + " have passed.");
System.out.println("date is 1-10-2013, " + diff1 + " have passed.");
}
和输出是
date is 1-10-2013, 1380605909318 have passed.
date is 1-10-2013, 61341428160000 have passed.
有人能详细说明1380605909318和61341428160000之间的区别吗?
这行:
Date date1 = new Date(2013, 10, 1, 11, 6);
...不做你做的事情。这将创建一个Date
表示3913年11月1日当地时间11:06的对象。我认为那不是您想要的。
实际上,如果您更改代码以包括日期本身,而不是硬编码您认为正确的值,那么您会看到:
System.out.println("date is " + date + ", " + diff + " have passed.");
System.out.println("date is " + date1 + ", " + diff1 + " have passed.");
有一个不赞成使用构造函数的原因-您应该注意不赞成使用的内容以及文档。
现在,您可以使用它java.util.Calendar
来代替-但实际上,我建议您使用Joda Time来代替(如果可以的话)。它的API比java.util.Calendar
/干净得多Date
。或者,如果您可以使用Java 8的预发行版,则它具有新的JSR-320日期/时间API。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句