![]() |
1
2
这个 Old New Thing blog entry 似乎是一篇关于这个话题的不错的论文: ole automation日期格式是一个浮点值,从1899年12月30日午夜算起。小时和分钟表示为小数天。 如果您可以访问VisualStudio和MFC CaleDeTimeToM源,可以在Java中重新实现它。 |
![]() |
2
3
请尝试以下代码:
|
![]() |
3
2
以前的实现是错误的,例如1.0和-1.25的日期错误。 以下实现符合MSDN中描述的OLE日期,例如: https://msdn.microsoft.com/en-us/library/system.datetime.tooadate(v=vs.110).aspx 下面的实现确实符合msdn文档。 它将bigdecimal值转换为joda localdatetime。 bigdecimal比float和double更好,因为它能够保存精确的值。
|