Linux如何处理DST(夏令时)?

Linux如何处理DST(夏令时)?,linux,database,dst,rhel,Linux,Database,Dst,Rhel,linux如何处理夏时制(DST) 旋转是否会立即发生,比如从3点旋转到2点? 或变化缓慢 我问你这个问题是因为我的服务器上有很大的数据库,如果这种切换立即发生,数据库入口上的一个小时将被写入 我怎样才能解决这个问题 我问你这个问题是因为我的服务器上有很大的数据库,如果这种切换立即发生,数据库入口上的一个小时将被写入 这表明您正在将本地时间写入数据库。无论Linux如何处理它(我相信它会按照您所说的那样做,因为时区基本上就是这样工作的),您几乎肯定不应该将本地时间写入数据库 如果改为写入UTC时

linux如何处理夏时制(DST)

旋转是否会立即发生,比如从3点旋转到2点? 或变化缓慢 我问你这个问题是因为我的服务器上有很大的数据库,如果这种切换立即发生,数据库入口上的一个小时将被写入

我怎样才能解决这个问题

我问你这个问题是因为我的服务器上有很大的数据库,如果这种切换立即发生,数据库入口上的一个小时将被写入

这表明您正在将本地时间写入数据库。无论Linux如何处理它(我相信它会按照您所说的那样做,因为时区基本上就是这样工作的),您几乎肯定不应该将本地时间写入数据库


如果改为写入UTC时间,则无需关心系统设置为哪个时区,也无需关心DST效果。在事件Y之后发生的事件X实际记录为更早的时间时,不会出现奇怪的情况,也不会出现任何歧义。当存在时,您可以将存储的时间调整为本地时区如果您愿意,可以将数据存储到任意时区。

一般来说,建议使用协调世界时(UTC)存储时间数据,因为UTC没有DST

进出数据库时从本地时区(和其他区域设置问题)转换。否则,必须在数据库中的所有时间(显式或隐式)存储时区。处理转换一开始似乎很烦人,但当你开始处理不同时区的用户时,你无论如何都必须这样做。因此,从长远来看,使用标准化的DST更少的时间是很方便的

至于您当前的问题,我不知道如何处理它。因为我一直处理UTC数据,所以它不会出现。

我想您可以尝试:

为要转换为的DST敏感数据添加触发器 基于UTC时间。

它会立即更改:

Sun 26 Oct 03:59:56 EEST 2014
Sun 26 Oct 03:59:57 EEST 2014
Sun 26 Oct 03:59:58 EEST 2014
Sun 26 Oct 03:59:59 EEST 2014
Sun 26 Oct 03:00:00 EET 2014
Sun 26 Oct 03:00:01 EET 2014
Sun 26 Oct 03:00:02 EET 2014
Sun 26 Oct 03:00:03 EET 2014
Sun 26 Oct 03:00:04 EET 2014
Sun 26 Oct 03:00:05 EET 2014
Sun 26 Oct 03:00:06 EET 2014
Sun 26 Oct 03:00:07 EET 2014
Sun 26 Oct 03:00:08 EET 2014

这是在测试机器上完成的,它会立即切换。

您至少应该回答这个问题(它如何处理DST)而不仅仅是解决暴露的数据库问题。问题是他们如何解决问题,即当夏时制来临时,如何处理数据库中基于时区的数据。重点关注linux如何处理夏时制(特别是在变化发生的速度方面)这不是一个很好的方式来看待它。不管怎样,问题/答案/公认的答案是3年前的。如果你不同意,请回过头来提供一个更好的答案,你的评论没有添加任何有用的内容@ManuHI通过搜索linux如何处理DST作为一个一般性问题而不是如何管理数据库找到了这个问题。我在这里几乎找不到答案因此,我认为解决问题必须在每个答案中完成(除了帮助人们)。问题是“linux如何处理DST”这就是它将首先出现的方式,任何事情都可以解决。这个问题在一个狭窄的背景下询问DST,被接受的答案,回答了提问者的满意程度。提问者正在处理的问题最好通过我的回答来处理(或者排名越高的答案哪个越能更好地解释我在回答中的意思)。没有更多的信息,我甚至不知道你想从“linux如何处理DST”这个问题中得到什么信息。如果您搜索linux+dst标记(不包括数据库标记),您可能会发现您正在查找的信息。关键字搜索的限制,恐怕。