Какой часовой пояс отображает Date.toString ()? - PullRequest
10 голосов
/ 17 ноября 2010

По умолчанию, какой часовой пояс отображает метод java.util.Date.toString()?Поскольку Java Date сохраняет заданную дату в UTC и не содержит явного часового пояса, Date.toString() просто отображает часовой пояс по умолчанию для хоста или TimeZone.getDefault() * * 1013

Ответы [ 2 ]

16 голосов
/ 17 ноября 2010

Отображается с использованием TimeZone.getDefault(), который, в свою очередь, по умолчанию будет использовать часовой пояс операционной системы, в которой он работает (то есть хост).Так что на практике это будет одно и то же

Обратите внимание, что дата Java на самом деле не является датой! Это момент времени , представленный миллисекундойсмещение с начала эпохи .Он по-прежнему содержит методы, которые ссылаются на год , месяц и т. Д., Но все они устарели.Вы ни в коем случае не должны использовать объект Date, как если бы это была дата.

Использовать Calendar (хотя это, возможно, даже более сломано, чем Date) или приличную библиотеку, такую ​​как JODA.

1 голос
/ 17 ноября 2010

Отображает ли часовой пояс по умолчанию для хозяина или TimeZone.getDefault ()

Последний (который совпадает с первым, если вы не установили его где-то явно). Однако это информация, полученная из исходного кода, поэтому она должна рассматриваться как деталь реализации. Если вам нужно конкретное повторяемое поведение, вы должны реализовать его самостоятельно.

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