2014-11-07 49 views
1

我有一些csv數據,我試圖在gnuplot中繪製。如何忽略csv數據中的時區

例如:

1,2014-11-07T16:00:03+13:00 
2,2014-11-07T15:55:03+13:00 
3,2014-11-07T15:50:04+13:00 
4,2014-11-07T15:45:03+13:00 
5,2014-11-07T15:40:03+13:00 
6,2014-11-07T15:35:03+13:00 

這將無法正常工作

set timefmt "%Y-%m-%dT%H:%M:%SZ" 

這些都是新西蘭的日期,這將+12之間切換:00和+13:00

我認識到, gnuplot與時區不兼容。我沒有選擇從源頭刪除區域,所以我如何將它設置爲忽略+13:00,因此它只是在當地時間工作?

回答

1

您可以使用gnuplot的字符串函數從數據中刪除時區部分。在這種情況下,您不需要使用set timefmt,但是在using語句中使用strptime解析了時間值。

set datafile separator ',' 
set xdata time 

fmt = "%Y-%m-%dT%H:%M:%S" 
timeval(s) = strptime(fmt, substr(s, 0, strstrt(s, '+')-1)) 

plot 'data.csv' using 1:(timeval(strcol(2)))