Странное поведение Datediff java Datediff sql - PullRequest
0 голосов
/ 07 января 2019

Когда я пытаюсь вычислить разницу между двумя датами в секундах в 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

Это на час, и я не знаю почему.

Заранее спасибо

1 Ответ

0 голосов
/ 07 января 2019

Версия Java учитывает переход на летнее время, а версия SQL - нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...