Lua中的OLE自动化日期

好的,我真的需要在 Lua 中使用 OLE 自动化日期。

这里

public double ToOADate()

返回值类型:System.Double,一个双精度浮点型数字,其中包含与此实例的值相当的 OLE 自动化日期。

所以在 C# 中,这个操作:

Console.Write("DateTime.Now.ToOADate() = " + DateTime.Now.ToOADate());

会给出这个结果:

DateTime.Now.ToOADate() = 42146,4748270602

那么在 Lua 中获取类似的值的最佳方法是什么?

点赞
用户2890591
用户2890591

根据EgorSkriptunoff的答案,这是一些更详细的细节。

所以,这段Lua代码可以很好地获取Lua中的OLE自动化日期:

--与1899年12月30日和1970年1月1日之间的天数
local magicnumber = 25569
--别忘了时区(对于我的情况是UTC + 3)
local utcshift = 3*3600
--计算和打印测试数据
local oleadate = magicnumber + ((os.time()+utcshift)/(3600*24))
print(oleadate)

输出:

42146.575740741
2015-05-22 10:57:24