Являются ли функции даты / времени Javascript зависимыми от клиентского компьютера? - PullRequest
11 голосов
/ 19 июня 2009

Мне было интересно, будут ли функции даты / времени в Javascript всегда возвращать правильные, универсальные даты / время или, если Javascript является языком на стороне клиента, они зависят от того, на какой машине клиента установлена ​​дата.

Если это зависит от клиентского компьютера, каков наилучший способ получить правильное универсальное время?

Ответы [ 4 ]

9 голосов
/ 19 июня 2009

Javascript знает столько же о правильном времени, сколько и среда, в которой он в данный момент работает, и Javascript имеет значение на стороне клиента .

Итак, Javascript зависит от пользователя, у которого есть правильное время и часовой пояс, настройки на ПК, на котором они просматривают.

Если у пользователя неправильный часовой пояс, но правильное время, функции в зависимости от часовых поясов, такие как getUTCDate (), будут некорректными.

Если у пользователя неправильное время, то все связанные со временем функции в Javascript будут некорректными.

Однако можно привести аргумент, что если бы пользователь хотел правильное время на своем ПК, он бы установил правильное время. В противовес этому то, что пользователь может не знать, как это сделать.

3 голосов
/ 19 июня 2009

Как сказал Томасруттер, функции даты в javascript зависят от компьютера клиента. Однако, если вы хотите получить официальную дату, вы можете сделать запрос ajax на ваш сервер, который просто возвращает строку даты. Затем вы можете преобразовать строку даты в объект даты со следующим

var ds = ... // Some ajax call
var d = new Date(ds);
3 голосов
/ 19 июня 2009

Методы делают то, что они задокументированы. Очевидно, что лучший способ получить информацию о UTC - это использовать методы UTC:

getUTCFullYear () , getUTCMonth () , getUTCDate () и т. Д.

2 голосов
/ 19 июня 2009

или, если Javascript является языком на стороне клиента, они зависят от того, на какой машине клиента установлена ​​дата.

Да, это правильно.

Если это зависит от клиентского компьютера, каков наилучший способ получить правильное универсальное время?

Чтобы получить время / дату из авторитетного источника, а не с клиентского компьютера.

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