Czas się różni, choć brany jest z tej samej zmiennej

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Blackhole
Stały bywalec
Stały bywalec
Posty: 86
Rejestracja: 30 lis 2007, 08:06

Czas się różni, choć brany jest z tej samej zmiennej

Nieprzeczytany post autor: Blackhole »

Hej.
Ten kod:

Kod: Zaznacz cały

  plik = FileOpen("plik.data",FILE_WRITE);
  datetime tc = TimeLocal();
  string wr = " "+(int)tc+" "+tc;
  FileWrite(plik, wr);
  FileClose(plik);
zapisuje mi do pliku:
1538752802 2018.10.05 15:20:02
Gdy jednak sprawdzę (na Linux), jaki czas reprezentuje pierwsza liczba, to dostaję:
$ date -d @1538752802 +"%Y-%m-%d %T"
2018-10-05 17:20:02
Skąd ta niespójność?

--------------
http://doscniewoli.pl
"W Bogu wszelkie nasze bogactwo."

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Re: Czas się różni, choć brany jest z tej samej zmiennej

Nieprzeczytany post autor: LowcaG »

zapewne chodzi o czas letni i zimowy i strefy, ewidentnie masz tutaj +2

Awatar użytkownika
Blackhole
Stały bywalec
Stały bywalec
Posty: 86
Rejestracja: 30 lis 2007, 08:06

Re: Czas się różni, choć brany jest z tej samej zmiennej

Nieprzeczytany post autor: Blackhole »

Wiem, że to jakieś przesunięcie letnio-zimowe/strefowe. Nie rozumiem tylko, czemu czas brany z tej samej zmiennej wyświetla się inaczej w tych 2 przypadkach. Jest to nielogiczne - jakby niespójność języka MQL.

Pytanie teraz... jak mam uzyskać ten sam czas w formacie "Y.m.d H:M:S" oraz ilości sekund od 1 stycznia 1970r.?
"W Bogu wszelkie nasze bogactwo."

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Re: Czas się różni, choć brany jest z tej samej zmiennej

Nieprzeczytany post autor: LowcaG »

hm..dla mnie jest to dość logiczne. i z MQLem jest wszystko jak najbardziej ok.

Gdy teraz byś to uruchomił. to timeLocal pokazało by Ci godzinę 6:19
zapisał byś do pliku odczytał i dalej była by 6:19.
Czyli uzyskałeś to samo co zapisałeś.

Jednak kiedy byś użył komendy linuxowe. to wyszła by Ci 8:19
Dlaczego?
Bo by wyliczył tę 6:17, ale pomyślał sobie, że zapisana była dla czasu +0GMT.
Więc dodatkowo dodał by Ci 2 godziny.

Nie znam się na linuxach ale może jest gdzieś jakiś parametr który to wyłącza.
A jeżeli chcesz zgodność to w sumie też nie problem.

Bieżesz timeLocal odejmujesz nasze przesunięcie czasowe
Zapisujesz.
Gdy wczytujesz znów dodajesz nasze przesunięcie czasowe.

A komenda linuxoewa będzie Ci pokazywać dobrze :)

Pytanie co chcesz osiągnąć.

Awatar użytkownika
Blackhole
Stały bywalec
Stały bywalec
Posty: 86
Rejestracja: 30 lis 2007, 08:06

Re: Czas się różni, choć brany jest z tej samej zmiennej

Nieprzeczytany post autor: Blackhole »

Dzięki za odpowiedź :) Teraz ma to jakiś sens.
"W Bogu wszelkie nasze bogactwo."

ODPOWIEDZ