Я понимаю, что Date.getTime() в Java вернет миллины с EPOCH, учитывая дату как дату UTC.Получение миллисов, так как EPOCH в дате UTC возвращает неправильные результаты?
На Java 6 у меня есть дата, на которой, если я выполняю Date.getTime(), он возвращает миллисеты с EPOCH, учитывая, что Date находится в часовом поясе PDT. (Сервер, на котором я запускаю код, настроен на время PDT.)
Я хочу, чтобы программа считала его датой UTC и возвращала миллионы секунд с EPOCH.
Ниже мой фрагмент кода и выход:
logger.debug("Date: " + someDate);
logger.debug("someDate in millis): " + someDate.getTime());
Output:
Date: 2016-08-19 12:04:56.993
someDate in millis: 1471633496993 //This is time since EPOCH for 2016-08-19 12:04:56.993 PDT
, тогда как я хочу, чтобы вернуть Миллис в качестве 1471608296993 (1471608296993 является Миллисекунды ЭПОХИ для UTC Дата: 2016-08-19 12: 04: 56,993)
Короче говоря, я хочу получить миллины с EPOCH, независимо от местного часового пояса, что в моем случае является PDT.
Пожалуйста, помогите.
Можете ли вы добавить код, в котором вы создаете 'someDate'? – jonhopkins
Я получаю «someDate» из базы данных SQL-сервера – user2306856
Является ли база данных возвращением даты с информацией о часовом поясе? – jonhopkins