Java Date getTime() метод
Я использую getTime()
метод класса Date в Java.
когда я выполняю это в моем локальном файле, он возвращает значение, отличное от того, когда я выполняю это на другом компьютере, тогда как значение даты такое же.
start.getTime()
2 ответа
Date
Объект фактически является просто контейнером для значений в миллисекундах с начала эпохи (миллисекунды с 1 января 1970 года в полночь по Гринвичу), то есть значения, которое вы получаете от getTime
, Вы сказали "... тогда как значение даты одинаково...", что говорит о том, что вы смотрите на другие аспекты Date
объект, как getHours
и тому подобное, но обратите внимание на все эти " устаревшие " уведомления об этих методах. Они там по причине.
Если вы используете что-то, что разработано, чтобы хорошо обрабатывать часовые пояса (новый java.time
материал; в крайнем случае старый java.util.Calendar
, но "хорошо" растягивает его), вы могли бы легко иметь Date
объект в одном часовом поясе, который, как говорят эти механизмы, (например) 2017-02-01 в 11:06, а другой в другом часовом поясе, который, как они говорят, также 2017-02-01 в 11:06, но получают разные значения из getTime
, Это из-за разницы в часовых поясах.
Смотрите Javadoc для Date.getTime()
:
Возвращает количество миллисекунд с 1 января 1970 года, 00:00:00 по Гринвичу, представленное этим объектом Date.
Обратите внимание, что строковое представление экземпляра Date (String возвращается toString()
) может отличаться в зависимости от локали и настроек часового пояса, но getTime()
Метод всегда будет вести себя так, как описано выше.