最佳答案
如果我运行以下程序,它会解析两个相隔1秒的日期字符串并对它们进行比较:
public static void main(String[] args) throws ParseException {SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String str3 = "1927-12-31 23:54:07";String str4 = "1927-12-31 23:54:08";Date sDt3 = sf.parse(str3);Date sDt4 = sf.parse(str4);long ld3 = sDt3.getTime() /1000;long ld4 = sDt4.getTime() /1000;System.out.println(ld4-ld3);}
输出是:
353
为什么是ld4-ld3
,而不是1
(正如我从时代的一秒钟差异中所期望的那样),而是353
?
如果我将日期更改为1秒后的时间:
String str3 = "1927-12-31 23:54:08";String str4 = "1927-12-31 23:54:09";
那么ld4-ld3
将是1
。
Java版本:
java version "1.6.0_22"Java(TM) SE Runtime Environment (build 1.6.0_22-b04)Dynamic Code Evolution Client VM (build 0.2-b02-internal, 19.0-b04-internal, mixed mode)
Timezone(`TimeZone.getDefault()`):
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
Locale(Locale.getDefault()): zh_CN