Jeśli mój użytkownik jest w Kalifornii i ma ustawiony komputer na PST, jest tam 13:00. Jeśli mój serwer jest ustawiony na EST, bieżący czas serwera to 16:00.Uzyskaj różnicę stref czasowych między klientem a serwerem
Potrzebuję sposobu, aby uzyskać różnicę strefy czasowej między klientem a serwerem, albo w JavaScript lub C#. W moim przykładzie otrzymam 3 (lub -3, nie ma znaczenia).
Czy ktoś wie, jak to zrobić?
EDIT: Możliwe rozwiązanie dla RedFilter
Robi to wszystko w javascript:
serverDate = new Date('<%= DateTime.Now.ToString() %>');
clientDate = new Date();
diffMin = (serverDate.getTime()-clientDate.getTime())*1000*60; //get difference in minutes
Myśl, że będzie działać? A może obaj powrócą w tym samym czasie?
Jeśli serwer jest ustawiony na EST, coś jest nie tak. Powinien działać w UTC. To usunie tak wiele bólów głowy związanych ze strefami czasowymi. –
@Frederik Nie widzę, jak to naprawdę zmienia sytuację. Jeśli aplikacja musi znać przesunięcie czasowe klienta, musi wiedzieć, niezależnie od ustawienia strefy czasowej serwera. – Pointy
Mój serwer działa w UTC, po prostu użyłem EST jako przykładu, aby uniknąć wszystkich odpowiedzi "istnieją funkcje do konwersji dat na UTC", które nie pomogłyby w rozwiązaniu problemu. – Steven