2013-12-04 3 views
-4

У меня есть сомнения относительно создания объекта Date с помощью метода Date(). При создании объекта Date() для этого требуется локальное время из системы?Метод Date() использует время для создания объекта в Java?

+1

Прочитать javadoc. –

+0

http://docs.oracle.com/javase/7/docs/api/java/util/Date.html –

ответ

2

Да.

Из Javadoc:

Дата()

Распределяет объект Date и инициализирует его так, чтобы он представляет время, на котором она была выделена, измеренная до ближайшего миллисекунды.

Но, java.util.Date, как известно, плохо рассматривается. Большинство из них рекомендуют использовать вместо этого LocalDate .

+0

и что такое бедное о java.util.Date, если вы игнорируете устаревшие вещи? Для меня все отлично. – Gimby

+1

См. [Эту тему] (http://stackoverflow.com/questions/12032051/differences-between-java-util-date-and-joda-time-apis) или у вас есть Google. Несколько известных разработчиков/блоггеров Java подробно обсуждают тему. В качестве альтернативы, прочтите краткое описание Джоды [здесь] (http://joda-time.sourceforge.net/old-index.html) – alexvinall

1

Мой ответ на вопрос о местном времени или нет, НЕТ.

Мы должны различать: Date() no-arg-constructor основан на System.currentTimeMillis(), который является глобально равным представлением миллисекунд с эпохи UNIX (не считая секунд прыжка). Этот счетчик повсюду на этом земном шаре тот же, правильная настройка часов os. => следовательно, нет местного времени

Но имейте в виду, что представление java.util.Date через toString() IS LOCAL, что зависит от установки часового пояса по умолчанию jvm. Это один из многих выдающихся примеров путаницы, вызванных java.util.Date.

+0

Правильный ответ делает очень важный момент: что хранится внутри и что отображается для отображения для пользователя две разные вещи. Поэтому для рендеринга мы применяем часовой пояс и локаль в обоих мирах j.u.Date/Calendar и [Joda-Time] (http://www.joda.org/joda-time/) –

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