C# 如何将这些数字转换为可读的日期/时间字符串?

C# 如何将这些数字转换为可读的日期/时间字符串?,c#,datetime,date,time,C#,Datetime,Date,Time,我正在读取两个XML文件-一个具有可读的日期/时间属性(例如2010年5月1日12:03:14 AM),另一个。。。没有那么多(例如1272686594492)。两个文件都具有复杂的日期/时间格式,但只有较新的文件具有可读版本。我不知道如何使复杂的版本可读。有什么想法吗 数字在下面的pastbin中 谢谢 看起来是从1970年1月1日午夜开始的毫秒数(这有点像UNIX时间,除了毫秒,而不是秒)。例如: long l = 1272740342854; DateTime dt = new Date

我正在读取两个XML文件-一个具有可读的日期/时间属性(例如2010年5月1日12:03:14 AM),另一个。。。没有那么多(例如1272686594492)。两个文件都具有复杂的日期/时间格式,但只有较新的文件具有可读版本。我不知道如何使复杂的版本可读。有什么想法吗

数字在下面的pastbin中


谢谢

看起来是从1970年1月1日午夜开始的毫秒数(这有点像UNIX时间,除了毫秒,而不是秒)。例如:

long l = 1272740342854;
DateTime dt = new DateTime(1970, 1, 1).AddMilliseconds(l);
Console.WriteLine(dt);

当我插入它时,实际上需要几个小时的时间,所以我猜一定也应用了某种时区偏移。

看起来你得到的是从1970年1月1日午夜开始的毫秒数(这有点像UNIX时间,除了毫秒,而不是秒)。例如:

long l = 1272740342854;
DateTime dt = new DateTime(1970, 1, 1).AddMilliseconds(l);
Console.WriteLine(dt);

当我把它插上时,它实际上需要几个小时的时间,所以我猜一定也有某种时区偏移。

我猜这个数字代表自1970年1月1日以来的秒数

所以1276648174733=2010年6月16日00:29:34


我猜这个数字代表了自1970年1月1日以来的秒数

所以1276648174733=2010年6月16日00:29:34


哇,我从来没有想过从1970年1月1日开始计算毫秒来计算日期时间字符串。是的,我有4个小时的休息时间,但我可以这样做。你怎么知道的?顺便说一下,谢谢@duckwizzle,好吧,要计算它是秒还是毫秒,你只需从一个数字中减去另一个。在几个小时内会有大约一百万的变化,所以是毫秒。然后,您只需从最终日期中减去毫秒,即可得到“历元”时间(例如,新日期时间(2010,5,1,0,3,14)。减去(TimeSpan.frommissions(1272686594492)))。我猜1970年是“真正的”纪元,因为那是Unix时间,这很常见。哇,我从来没有想过从1970年1月1日开始计算毫秒来计算日期时间字符串。是的,我有4个小时的休息时间,但我可以这样做。你怎么知道的?顺便说一下,谢谢@duckwizzle,好吧,要计算它是秒还是毫秒,你只需从一个数字中减去另一个。在几个小时内会有大约一百万的变化,所以是毫秒。然后,您只需从最终日期中减去毫秒,即可得到“历元”时间(例如,新日期时间(2010,5,1,0,3,14)。减去(TimeSpan.frommissions(1272686594492)))。我猜1970年是“真正的”时代,因为那是Unix时代,这是非常普遍的。