sql中的日期时间偏移转换

7rfyedvj  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(667)

我正在使用一个使用日期-时间偏移的表。我有一个值,看起来像2020-01-02 13:30:00-07:00。
是我所在时区的时间13:30还是我需要从中减去7小时。我在youtube上看到人们做的不同。

6pp0gazn

6pp0gazn1#

在mssqlserver中,您发布的datetimeoffset的字符串表示的最后一部分描述了时区。因此,如果您当前位于时区-7:00(例如,亚利桑那州,美国),那么字符串的时间部分指的是您的本地时间,而不是utc。请参阅microsoft文档:
例如,1999-12-12 12:30:30.12345-07:00应[在utc中]表示为1999-12-12 19:30:30.12345z
有些人只有在手动获取utc值时才会从数字中减去偏移量,但如果数据来自夏令时(dst)区域,则可能会产生错误,因此您需要在输入时强制执行dst处理。sqlserver已在后台以utc格式存储数据:
数据存储在数据库中,并在服务器中按utc格式进行处理、比较、排序和索引。

相关问题