当我尝试在java中计算两个日期之间的差值(以秒为单位)时,得到的输出与在sql中不同。
SQL:
select DATEDIFF(second,
convert(datetime, '2014-01-07 11:00:27', 120),
convert(datetime, '2018-07-09 00:00:00', 120))=> 142001973
SimpleDateFormat NORM_DATE_TO_STRING = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date reference = NORM_DATE_TO_STRING.parse("2014-01-07 11:00:27");
Date we = NORM_DATE_TO_STRING.parse("2018-07-09 00:00:00");
long diff = (we.getTime()-reference.getTime())/1000;=> 141998373
差了一个小时,我不知道为什么。
提前感谢
发布于 2019-01-07 20:46:49
Java版本考虑了夏令时,而SQL版本则没有。
https://stackoverflow.com/questions/54074670
复制相似问题