2012-06-27 5 views
3

Я пишу простой javascript, чтобы рассчитать разницу во времени между сервером и временем пользователя. Но что-то идет не так.Рассчитать разницу между сервером и временем пользователя

Если я ловлю яваскрипта и PHP даты у меня есть:

date("M d Y h:i:s A") 
php date : Wed Jun 27 2012 04:10:41 AM 

new Date() 
J S date : Wed Jun 27 2012 10:10:40 GMT+0200 (CEST) 

Это правильно! У меня есть два разных времени для локального и серверного времени.

Теперь, если я беру время секунд ... что-то идет не так:

(php: date("U")) 
sec PHP: 1340784640  

(js new Date().getTime()/1000) 
sec J S: 1340784640 

я получил то же самое время!

Можете ли вы помочь мне исправить это?

Спасибо!

+0

'date (" U ") * 1000' не вернется' 1340784640'. 'date (" U ")' уже возвращается в секундах. – xdazz

ответ

4

date("U") и new Date().getTime() возвращают Unix timestamp, который определяется как секунд, прошедшее с 1 января 1970 UTC. Текущий часовой пояс локали не учитывается.

Используйте date('Z'), чтобы получить смещение часовой пояс в PHP (в секундах) и new Date().getTimezoneOffset() в JavaScript (в минутах).

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