当我尝试在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
关闭一小时,我不知道为什么。
预先感谢
答案 0 :(得分:2)
Java版本考虑了夏令时,而SQL版本则没有考虑。