DateTime.ToOADate -仅限时间

本文关键字:时间 ToOADate DateTime | 更新日期: 2023-09-27 18:11:25

我有一个"DateTime" var与当前日期(DateTime. now)。我可以将其转换为odate - format(41392,524432)作为示例。但我如何转换这个,我的只是得到时间没有日期?例如,1分钟和4秒(01:04)在这种格式下是0,04444444。

DateTime.ToOADate -仅限时间

由于MSDN声明:

OLE Automation日期被实现为一个浮点数,其积分分量是1899年12月30日午夜之前或之后的天数

你可能想用它作为基准日期:

DateTime oaBaseDate = new DateTime(1899,12,30);
double result = oaBaseDate.Add(DateTime.Now.TimeOfDay).ToOADate();

或者如果你不喜欢魔术数字(魔术日期),等效的:

DateTime oaBaseDate = DateTime.FromOADate(0);
double result = oaBaseDate.Add(DateTime.Now.TimeOfDay).ToOADate();

尝试减去当前日期。

double oaDate = DateTime.Now.ToOADate();
double result = oaDate - (int)(oaDate);

double result = oaDate - Math.Floor(oaDate);