【发布时间】:2014-03-13 23:40:32
【问题描述】:
long beginupd = new GregorianCalendar(2014,3,14,10,55,25).getTime().getTime();
Date date = new Date();
long milli=date.getTime();
System.out.println(beginupd);
System.out.println(milli);
System.out.println(date);
输出:
1397462125000
1394787327009
2014 年 3 月 14 日星期五 10:55:27 EET
我怎么了?为什么不相等?相差只有两秒,但输出差异很大
好的! 0 表示 1 月,11 表示 12 月。谢谢大卫华莱士
【问题讨论】:
-
输入的格式是什么?是
String吗?是Date值吗? -
是的!如果您有
String值,则需要将其解析回Date以便获得毫秒数。如果您已经有Date值,那么您不需要进行解析...我还假设您正在尝试获取这两个值之间的持续时间...可以看到 here 和 @ 987654322@ -
@user2772836 将其解析为
Date,然后使用Date.getTime()。日期格式是任意的,只要你可以构造一个合适的SimpleDateFormat来表示它。 -
使用
SimpleDateFormat将其解析为日期并调用getTime()方法。这应该可以做到。