【发布时间】:2014-04-23 22:43:07
【问题描述】:
我似乎找不到任何关于如何处理“变体时间”(DATE,双精度,8 字节变量)的信息...... 我有一个变体时间“A”,其值为“41716.892329”。 如果我使用“VariantTimeToSystemTime”(或“COleDateTime”)转换“A” - 我得到“2014-03-18 21:24:57”。
- 如何计算这个变体时间?
- 它能够存储毫秒吗?
- 有什么方法可以确定变体时间是上午时间还是下午时间?
我对上午/下午的事情有点困惑,因为当时我正在使用的设备设置为“09:24:57”(上午)而不是“ 21:24:57"(下午)。
这可能是设备 SDK 的问题,它为我提供了不正确的变体时间吗?
编辑:这是设备中设置的时区不正确的问题(设置为“GMT-12:00”而不是“GMT-00:00” )
谢谢。
【问题讨论】:
-
41716.892329 真的是 '2014-03-18 21:24:57'(所以,晚上 9 点),这一点没有歧义。您在自己的问题中指向文档:“小时值表示为数字小数部分的绝对值”。
-
立陶宛距离太平洋上一个阳光明媚的岛屿太远,无法解释 UTC+12 偏移。听起来设备刚关机 12 小时,很容易出错。
-
好的,谢谢大家!我刚刚注意到有人将设备的时区设置为“GMT-12:00”而不是“GMT-00:00”。 (汉斯,即使我在立陶宛,我也在使用位于英国的设备;))
标签: c++ datetime time com variant