如何忽略csv数据中的时区

时间:2014-11-07 03:07:19

标签: csv gnuplot timezone-offset

我有一些csv数据我试图在gnuplot中绘图。

示例:

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 个答案:

答案 0 :(得分: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)))