你认识到16位数的时间戳吗?

时间:2010-07-10 12:20:48

标签: c# asp.net timestamp

我正在与Google博彩公司合作,它会返回16位数的时间戳,我似乎无法在C#中识别出变成真实日期,任何想法?

如何将此时间戳: 1278276905502403 转换为C#中有意义的内容?

2 个答案:

答案 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