Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poprawne wyświetlanie dat
m72
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 25.12.2012

Ostrzeżenie: (0%)
-----


Jak poprawinie zdefiniować date w javascript żeby były uwzględniane strefy czasowe.
W poniższym przykładnie data definiowana automatycznie działa poprawnie ale data utworzona "z palca" już nie.
Czemu tak się dzieje ?

http://jsfiddle.net/m72m72/7b1s5Lnd/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
m72
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 25.12.2012

Ostrzeżenie: (0%)
-----


Już działa.

http://jsfiddle.net/m72m72/7b1s5Lnd/

Reasumując żeby wyświetlić poprawną datę to:
Przy definiowaniu daty jako terźniejszą chwilę nie trzeba "offsetować", czyli:
  1. var teraz = new Date(); // Jest godzina np:12:00:00
  2. console.log(teraz); //np: Date 2014-08-29T10:00:00.000Z - w dacie samoistnie odejmują się 2 godziny
  3. console.log('teraz='+teraz); //np: Date 2014-08-29T12:00:00.000Z przy wyświetlaniu daty łącznie ze stringiem nie wiem czemu ale spowrotem się dodają brakujące godziny :)


Z kolei przy definiowaniu daty "z palca" trzeba uwzględnić offset:
  1. var data = new Date(2014,08-1,29,12,00,00); // odejmujemy 1 godzinę (też nie wiem czemu ale działa)
  2. var offset_data = data.getTimezoneOffset()* 60000; // wyliczamy offset * 60000 (bo minuta to 60000 milisekund) a offset jest w minutach
  3. console.log(data); // tutaj dostajemy godzinę 10 czyli w zmiennej odjęte są 2 godziny
  4. console.log('data= '+data); // i znów przy wyświetlaniu daty łącznie ze stringiem godziny są korygowane

ps. nieźle to jest pierdzielnięte

Niech mądrzejsi odemnie to poprawią albo skomentują i będzie dla potomnych (IMG:style_emoticons/default/smile.gif)

Ten post edytował m72 29.08.2014, 16:38:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 00:33