Является ли метка времени Unix из расчета клиентского JavaScript относительно часового пояса пользователя? - PullRequest
1 голос
/ 12 января 2012

Я хочу преобразовать два времени клиента, представленных метками времени Unix, в стандартизированное время сервера, представленное в часовом поясе UTC.

Я хочу сделать это, используя библиотеку времени Java Joda.

Так что, если у меня есть два клиента в двух разных часовых поясах, и я использую код JavaScript, чтобы получить временную метку Unix для каждого и передать длинное целое значение в код Java на сервере (часовой пояс UTC), нужно ли сначала преобразовывать те времена от часового пояса пользователя до часового пояса сервера, если я хочу сохранить их как сопоставимые даты, или метка времени Unix означает, что если я преобразую их в Joda DateTime на сервере (как показано ниже), он автоматически создаст DateTime для каждого что эквивалентно часовому поясу сервера?

long clientTime = 1326329941540; // passed from client to server
DateTime clientTimeAsJoda = new DateTime(clientTime); 
// (A) Does this convert clientTimeAsJoda to server time zone?

или мне нужно сделать что-то вроде этого:

long clientTime = 1326329941540; // passed from client to server
DateTime clientTimeAsJoda = new DateTime(clientTime).withZone(DateTimeZone.UTC); 
// (B) Does this convert clientTimeAsJoda to server time zone?

1 Ответ

4 голосов
/ 12 января 2012

метки времени Unix не зависят от часового пояса;они представляют количество секунд с определенного момента, названного «эпохой», а именно 1970-01-01 00:00:00 UTC.(На самом деле ваше значение - это количество миллисекунд, а не секунд, но идея та же.) Поэтому нет, вам не нужно беспокоиться о часовом поясе клиента для этого.

...