Я не думаю, что можно получить точное значение. Я думаю, что лучшее, что вы можете сделать, это отправить очень маленький калибровочный AJAX-запрос, который сравнивает время клиента с временем сервера. Это то, что я сделал в любом случае.
Редактировать для уточнения
Как правило, выполняется AJAX-вызов конечной точки сервера с отметкой времени клиента (clock). Как только сервер получает клиентскую метку времени, извлекайте и сохраняйте метку времени сервера вместе с ней. На данный момент вы можете предположить, что времена относительно эквивалентны. Вы не будете знать издержки сети, поэтому они будут другими; также их часы могут быть в другом часовом поясе или просто выключены.
После того, как вы получите эту эквивалентность, вы можете использовать разницу двух раз для калибровки в любое другое время от клиента:
- clientTime0 - serverTime0 = clientServerDelta
- (clientTimeX - clentServerDelta) будет примерно таким же по времени сервера, как и при записи clientTimeX.