2013-01-15 19 views
5

Ho un semplice file di comandi gnuplot:Come impostare il fuso orario in gnuplot?

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

dove x - colonna timestamp.

Risultato: ora nel formato UTC. Posso cambiare il timezome locale per l'asse x?

+0

puoi fornire alcuni dati di esempio? – mgilson

+0

Ho fatto alcuni tentativi in ​​questo e ho paura di aver fallito ... ma non sono grande con la magia di timezone 'strptime', quindi forse qualcuno lo gestirà. – mgilson

+0

Vedo che questa domanda è piuttosto vecchia e sembra che la risposta non sia cambiata da allora. Trovo terribile dover modificare i dati per ottenere un corretto rendering della data. Qualche cambiamento nelle versioni più recenti? – Setop

risposta

4

appena incontrato questo nel docs oggi:

La conversione da e per secondi assume Universal Time (che è lo stesso come Greenwich Standard Time). Non è prevista la modifica dell'orario o per l'ora legale. Se tutti i tuoi dati si riferiscono allo stesso fuso orario (e sono tutti o diurni o standard) non devi preoccuparti di queste cose . Ma se il tempo assoluto è cruciale per la tua applicazione, devi convertire tu stesso in UT.

Da help time/date

4

Ho appena imbattuto in questo oggi. Non è necessario modificare il formato, basta modificare i dati. Se data.txt contiene timestamp in UTC, e volete visualizzarli in PDT (-7 ore fuori dalla UTC), è sufficiente utilizzare:

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

Questo sottrae 7 ore (in secondi) da ogni valore x.

+0

È possibile ottenere l'offset utilizzando il comando date: date +% s -d '1 gen 1970' – anthony

Problemi correlati