0

我正在运行一个 matlab 函数 ( fastinsert) 将数据插入 MySQL。全年的结果都是正确的,除了 3 月的 1 小时,在夏令时期间。事实上,我似乎无法在当天凌晨 2:00 到 3:00 之间插入数据。

例如:

 ts =        2006           3          26           2          30           0

在 matlab 函数中查看我发现问题在于:

 java.sql.Timestamp(ts(1)-1900,ts(2)-1,ts(3),ts(4),ts(5),secs,nanosecs)

结果是:

 2006-03-26 03:30:00.0

我该如何解决这个问题?

4

1 回答 1

0

我在很多场合都遇到过存储日期时间的类似问题。将值视为派生值似乎是最有意义的。换句话说,不是存储本地时间,而是将值存储为GMTTime Zone。然后在查询数据时得出适当的值。

这还有一个额外的好处,那就是可以从多个位置存储值,而不必担心以后会出现混乱。

于 2013-02-15T12:22:11.550 回答