【发布时间】:2014-05-06 13:35:26
【问题描述】:
我正在编写一个解析器,但遇到了一个我无法解决的问题。我在文本文件中有一个数字(双)734139.045000000040,它是日期。我需要将此数字转换为 DateTime 格式(yyyy-mm-dd HH:mm:ss.fff)。
我有以下代码,它给了我一个遥远的未来日期,并且肯定是错误的,我想知道我需要做什么才能获得正确的日期。不幸的是,我没有应有的 dateTime 值,我只知道这个文件是在 2010 年末或 2011 年的某个时间生成的。
我将不胜感激任何帮助或指导。
double d = double.Parse(line);
DateTime conv = DateTime.FromOADate(d);
MessageBox.Show(conv.ToString());
生成的消息框显示转换为 01/01/3910 01:04:48 请帮忙!谢谢你
【问题讨论】:
-
这个数字代表什么?目前它只是一个数字——它是否意味着自 Unix 纪元以来的毫秒数?秒数?完全不同的东西?另请注意,
DateTime本身没有格式 - 它只是值。 -
734139.045000000040代表什么日期? -
@Jon Skeet & Microsft DN - 这个数字代表一个我不知道的日期,我只知道它应该在 2010 年末或 2011 年的某个地方。我可以通过试验来做不同的方法吗?错误。
-
那么这些数据是从哪里来的?你不能问那个数据源是什么意思吗?如果你不小心的话,你很容易以微妙的错误告终。如果不知道数据的真正含义,就以特定方式解释数据绝不是一个好主意。
标签: c# visual-studio-2010 datetime type-conversion