2013-01-15 16 views
5

Mam prosty plik poleceń gnuplot:Jak ustawić strefę czasową w gnuplot?

.... 
set xdata time 
set timefmt "%s" 
set format x "%H:%M" 
.... 

gdzie x - kolumna datownika.

Wynik - czas w formacie UTC. Czy mogę zmienić lokalny timezome dla osi X?

+0

Czy możesz podać przykładowe dane? – mgilson

+0

Podjąłem kilka prób i obawiam się, że mi się nie udało ... ale nie jestem zbyt wielka na punkcie czasowym magii "strptime", więc może ktoś inny sobie poradzi. – mgilson

+0

Widzę, że to pytanie jest dość stare i wygląda na to, że odpowiedź nie zmieniła się od tego czasu. Uważam, że trzeba zmodyfikować dane, aby uzyskać prawidłowe renderowanie daty. Każda zmiana w nowszych wersjach? – Setop

Odpowiedz

4

Właśnie natknąłem to w dzisiejszych docs:

Konwersja do iz sekund zakłada czasu uniwersalnego (który jest taki sam jak Greenwich Standard Time). Nie ma możliwości zmiany strefy czasu ani zmiany czasu na letni. Jeśli wszystkie twoje dane odnoszą się do tej samej strefy czasowej (i wszystkie są dzienne lub standardowe), nie musisz się martwić o te rzeczy . Ale jeśli absolutny czas jest kluczowy dla twojej aplikacji, musisz sam przekonwertować ją na UT.

Od help time/date

4

prostu biegł tym dzisiaj. Nie trzeba zmieniać formatu, wystarczy zmienić dane. Jeśli data.txt zawiera znaczniki czasu UTC, a chcesz wyświetlać je w PDT (-7 godzin wolnego od UTC), wystarczy użyć:

plot 'data.txt' using ($1+(-7*3600)):2 

to odejmuje 7 godzin (w sekundach) od każdej wartości x.

+0

Możesz uzyskać przesunięcie za pomocą polecenia date: date +% s -d '1 Jan 1970' – anthony

Powiązane problemy