AspenTech IP.21 数据时区

AspenTech IP.21 Data Timezone

我正在执行一个简单的查询以通过 ODBC 和 OdbcDataReader 检索数据。但是,我无法确定返回数据的时区是什么。我检查了每个文档,但没有任何内容告诉我它是什么(UTC 或本地)。我试图在 SQL Plus 中寻找设置,但也找不到。

有谁知道或知道文档会说什么?谢谢!

在 AspenTech IP21 SqlPlus 中,每个时间戳都与服务器时区相关。
如果您只对 UTC 偏移量感兴趣(注意,时区不仅仅是那个),您可以询问服务器当前时间,并进行计算:

--something like that :
WRITE GETDBTIME;

此外,如果您在服务器上拥有权限,您可以调用系统命令(检查文档以了解正确的语法)以获得时区的名称:

SYSTEM 'tzutil /g';

@Madgui 的时区信息是正确的。但是,我还想提一件事。

在 SQLplus 中,如果您在查询中使用 SELECT ISO8601(IP_TREND_TIME),您将被 returned 为 ISO8601 string.

如果您正在使用 C# 做某事并且需要将其作为 UTC 时间,则必须执行以下操作: DateTime.SpecifyKind(DateTime.Parse(datareader["TREND_TIME"].ToString()).ToUniversalTime(), DateTimeKind.Utc)

DateTim.Parse 将 return 作为本地时间,仅供参考,这就是您需要使用 .ToUniversalTime() 的原因。另外,归类为 UTC 绝非坏主意。

在 InfoPlus 中使用时区的最佳方式是使用函数 ISO8601(此处为时间戳)。这样可以避免时区转换错误。