我正在做一个简单的查询来通过 ODBC 和 OdbcDataReader 检索数据。但是,我无法确定返回数据的时区是什么。我检查了每个文档,没有任何东西告诉我它是什么(UTC 或本地)。我试图在 SQL Plus 中寻找一个设置,但也无法在那里找到一些东西。
有谁知道或知道文档会说什么?谢谢!
我正在做一个简单的查询来通过 ODBC 和 OdbcDataReader 检索数据。但是,我无法确定返回数据的时区是什么。我检查了每个文档,没有任何东西告诉我它是什么(UTC 或本地)。我试图在 SQL Plus 中寻找一个设置,但也无法在那里找到一些东西。
有谁知道或知道文档会说什么?谢谢!
@Madgui 的时区信息是正确的。不过,我还想提一件事。
在 SQLplus 中,如果您SELECT ISO8601(IP_TREND_TIME)
在查询中使用,您将返回一个 ISO8601字符串。
如果您在 C# 中做某事并且需要将其作为 UTC 时间,则必须执行以下操作:
DateTime.SpecifyKind(DateTime.Parse(datareader["TREND_TIME"].ToString()).ToUniversalTime(), DateTimeKind.Utc)
DateTim.Parse 将作为本地时间返回,只是一个 FYI,这就是您需要使用 .ToUniversalTime() 的原因。此外,将其归类为 UTC 绝不是一个坏主意。
在 InfoPlus 中使用时区的最佳方法是使用函数 ISO8601(此处为时间戳)。这样可以避免时区转换错误。