Учитывает ли функция java date.before часовой пояс? - PullRequest
0 голосов
/ 10 июня 2011

У меня на сервере установлен часовой пояс BST (британское летнее время), а дата, переданная в функцию, была рассчитана в UTC.

На сайте Java Oracle это просто относится к сравнению времени как «сейчас», но будет ли это «сейчас» временем того же часового пояса, который установлен, или это будет тот, который установлен на сервере, на котором он работает?

Ответы [ 2 ]

4 голосов
/ 10 июня 2011

В java.util.Date нет часового пояса, фактически это часовой пояс JVM, в котором он работает.

Мой совет, если вам нужно работать с часовыми поясами, используйте Joda

1 голос
/ 10 июня 2011

Подразумевается, что java.util.Date всегда хранит время в UTC.Например, если вы позвоните System.currentTimeMillis() или создадите new Date(), внутреннее время будет указано в UTC.но Date.toString() даст разное время для разных часовых поясов по умолчанию.

Поэтому, если вы передадите дату UTC в функцию before, вы получите правильный результат независимо от часового пояса сервера.

...