2012-12-15 20 views
7

Pracuję nad małym projektem, w którym zajmuję się datami.Jak uzyskać datę serwera w JavaScript

Aby uzyskać dzisiejszą datę, obecnie używam następujący kod JavaScript:

var today = new Date(); 

Powoduje to jednak w bieżącej daty ustawionej w systemie klienckim, które mogą się różnić między systemami, a stąd ostateczny wynik jest inny.

Aby uzyskać taki sam wynik na wszystkich klientach, muszę znać aktualną datę z serwera. Jak mogę uzyskać datę serwera w JavaScript?

+6

"jak zdobyć aktualną datę serwera" - zapytanie do serwera ... –

+0

JavaScript nic nie wie o twoim serwerze. – elclanrs

+0

Tak wiec ludzie, którzy znają inny sposób, aby to zrobić – Aniket

Odpowiedz

12

Zdecydowanie uzyskanie daty serwera nie jest możliwe bez serwera zapytań.

Wykonaj osobne wywołanie AJAX, aby uzyskać datę serwera, lub jeśli aplikacja już przesyła zapytanie ajax, umieść datę w nagłówku Date po stronie serwera i przeczytaj ją w kliencie.

Także jeśli cała strona serwowane jest dynamicznie (jak PHP), serwer miejsce data boczny w źródle HTML tak:

 
<script> 
    var serverDate = <?= time() ?> 
    var dateDiff = new Date - serverDate; 
</script> 

+1

Taha pracuję z struts2 i javascript .. – Aniket

2

javascript działa po stronie klienta, więc zwróci datę klienta.

Aby uzyskać datę serwerze, to najprawdopodobniej chcesz używać języka po stronie serwera, takich jak ASP.NET, PHP, itp

1

Możesz wysłać swoją datę/czas serwera na stronie internetowej i JavaScript określi różnicę między tą datą przeglądarki.

W zależności od konkretnych wymagań, możesz również rozważyć użycie daty/czasu UTC, która, jak sama nazwa wskazuje, jest uniwersalna.