2017-02-01 2 views
-1

Я использую метод getTime() класса Date в java.Java Date getTime() method

Когда я выполняю его в своем локальном, он возвращает значение, отличное от того, когда я выполняю его в другом компьютере, тогда как значение даты одинаково.

start.getTime() 
+0

миллисекунды могут быть разными – Mritunjay

+0

Время хранится в эпоху против UTC. –

+1

* ", тогда как значение даты одинаково" * Как вы это просматриваете? Этот вопрос чрезвычайно расплывчатый. –

ответ

0

См Javadoc для Date.getTime():

Возвращает количество миллисекунд, прошедших с 1 января 1970, 00:00:00 GMT представляемое этой дате объекта

Обратите внимание, что строка представление экземпляра Date (строка, возвращаемая toString()) может различаться в зависимости от настроек локали и часового пояса, но метод getTime() всегда будет вести себя так, как описано выше.

1

Объект Date является фактически просто контейнером для значений миллисекунд-с-эпох (миллисекунды с 1 января 1970 года в полночь по UTC), которое является значением, которое вы получаете от getTime. Вы сказали «... в то время как значение даты одинаково ...», что говорит о том, что вы смотрите на другие аспекты объекта Date, например getHours и т. Д., Но обратите внимание на все эти «Устаревшие» извещения об этих методах. Они там не просто так.

Если вы используете что-то, предназначенную для обработки часовых поясов хорошо (новый java.time материала; в крайнем случае старого java.util.Calendar, но «хорошо» это растягивая его), вы можете легко иметь Date объект в одном часовом поясе, которые говорят, что эти механизмы (например) 2017-02-01 в 11:06, а другой в другой часовой пояс, который они также говорят, это 2017-02-01 в 11:06, но получают разные значения от getTime. Это из-за разницы во времени.

Смежные вопросы