c++ - 如何确定 SystemTime 值是否为 UTC

标签 c++ com activex

有没有办法确定已转换为 SystemTime 值的 DATE 数据类型的时区?

假设一个使用 COM 库的 C# 文件设置以下值:

someComInterface.someDateAttribute = new DateTime(somedate).ToUniversalTime();

在 COM 库中我想做这样的事情

if(VariantTimeToSystemTime(DATE, &systm )){   
    if(st == UTC ){ 
          //do something 
    }
    else{ 
          // do something with localtime 
    }
}

最佳答案

根据 MSDN:http://msdn.microsoft.com/en-us/library/system.datetime.kind.aspx

DateTime 种类属性“获取一个值,该值指示此实例表示的时间是基于本地时间、协调世界时 (UTC) 还是两者都不基于。”

如果是本地的,您需要检查 TimeOffset 属性。

http://msdn.microsoft.com/en-us/library/system.datetimeoffset.aspx

关于c++ - 如何确定 SystemTime 值是否为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2210278/

相关文章:

c++ - 格式化包含引号的字符串

c++ - enable_if 不能用于禁用此声明

c++ - CComPtrBase::~CComPtrBase 在解除分配智能指针时崩溃

python - win32com Excel数据输入错误

c++ - TeeChart v8 : How to change fonts in runtime?

c++ - 我的 RSA 加密每次生成 2^64 (C++)

c++ - 如何在 OpenCASCADE 中更改 TopoDS_Shape 的底层几何形状

c# - CoCreateInstance 失败,返回 0x80131500

process - PowerBuilder 应用程序如何充当另一个 guest 可执行文件的宿主?

vb.net - OCX控制: Sub New() is not accessible in this context because it is 'Private'