锁定老帖子 主题:Java Date 类的一个神级误差
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-23
很久之前的帖子了,LZ 凹凸了
|
|
返回顶楼 | |
发表时间:2011-08-23
长见识了,谢谢
|
|
返回顶楼 | |
发表时间:2011-08-23
也就是说那年有两个23:59:08秒,还是那年的23:59:08秒有352秒那么长?
|
|
返回顶楼 | |
发表时间:2011-08-24
没什么可神奇的,大家可以试一下这段代码:
public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); String str3 = "1990-04-14 23:59:59"; String str4 = "1990-04-15 01:00:01"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld3); System.out.println(ld4); System.out.println(ld4-ld3); } |
|
返回顶楼 | |
发表时间:2011-08-24
mlw2000 写道 没什么可神奇的,大家可以试一下这段代码:
public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); String str3 = "1990-04-14 23:59:59"; String str4 = "1990-04-15 01:00:01"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld3); System.out.println(ld4); System.out.println(ld4-ld3); } 我觉得 String str4 = "1990-04-15 01:00:01";应该是 String str4 = "1990-04-15 00:00:01"; 才能得到你想要的。。。,不知道我说的对不对。。 |
|
返回顶楼 | |
发表时间:2011-08-24
loookto 写道 mlw2000 写道 没什么可神奇的,大家可以试一下这段代码:
public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); String str3 = "1990-04-14 23:59:59"; String str4 = "1990-04-15 01:00:01"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld3); System.out.println(ld4); System.out.println(ld4-ld3); } 我觉得 String str4 = "1990-04-15 01:00:01";应该是 String str4 = "1990-04-15 00:00:01"; 才能得到你想要的。。。,不知道我说的对不对。。 楼主发现的不错 这个1点的童鞋。。。 |
|
返回顶楼 | |
发表时间:2011-08-24
ln_ydc 写道 http://coolshell.cn/articles/5075.html
+1 |
|
返回顶楼 | |
发表时间:2011-08-24
loookto 写道 mlw2000 写道 没什么可神奇的,大家可以试一下这段代码:
public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); String str3 = "1990-04-14 23:59:59"; String str4 = "1990-04-15 01:00:01"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld3); System.out.println(ld4); System.out.println(ld4-ld3); } 我觉得 String str4 = "1990-04-15 01:00:01";应该是 String str4 = "1990-04-15 00:00:01"; 才能得到你想要的。。。,不知道我说的对不对。。 夏时制问题. Locale.US是重点. 4-15 01:00:01其实是4-15 00:00:01 |
|
返回顶楼 | |
发表时间:2011-08-24
zhangwe415 写道 loookto 写道 mlw2000 写道 没什么可神奇的,大家可以试一下这段代码:
public static void main(String[] args) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); String str3 = "1990-04-14 23:59:59"; String str4 = "1990-04-15 01:00:01"; Date sDt3 = sf.parse(str3); Date sDt4 = sf.parse(str4); long ld3 = sDt3.getTime() /1000; long ld4 = sDt4.getTime() /1000; System.out.println(ld3); System.out.println(ld4); System.out.println(ld4-ld3); } 我觉得 String str4 = "1990-04-15 01:00:01";应该是 String str4 = "1990-04-15 00:00:01"; 才能得到你想要的。。。,不知道我说的对不对。。 楼主发现的不错 这个1点的童鞋。。。 1点的童鞋没有写错就是1点 |
|
返回顶楼 | |
发表时间:2011-08-24
是啊,我比较关心当时为什么会回拨五分钟?
|
|
返回顶楼 | |