DateTime.ToOADate – 仅限时间
我有一个“DateTime”var与当前日期(DateTime.Now)。 我可以将其转换为OADate-Format(41392,524432)作为示例。 但是我怎么能改变这个,我只是在没有约会的时间? 例如,1分4秒(01:04)是这种格式的0,04444444。
由于MSDN声明 :
OLE自动化日期实现为浮点数,其积分分量是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);