我正在与Google博彩公司合作,它会返回16位数的时间戳,我似乎无法在C#中识别出变成真实日期,任何想法?
如何将此时间戳: 1278276905502403 转换为C#中有意义的内容?
答案 0 :(得分:8)
这看起来像UNIX时间,以微秒为单位。也就是1970.01.01 00:00:00以来的微秒数。
可以尝试类似:
dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddMilliseconds(value/1000);
(可能是更好的方法,但我不知道C#。)
而不是Python:>>> time.ctime(1278276905502403/1000000)
'Sun Jul 4 22:55:05 2010'
答案 1 :(得分:4)
时间戳是自纪元(01/01/1970 00:00:00 UTC)以来的微秒数。
您可以将它转换为C#中的DateTime,如下所示:
var timestamp = 1278276905502403;
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var myDate = epoch.AddMilliseconds(timestamp / 1000);
示例时间戳的结果是:07/04/2010 08:55:05 PM