6

这个网站上有很多问题解释了如何做到这一点。我的问题是,当我做似乎对其他人有用的事情时,我没有得到正确的日期或时间。代码是...

long numberOfTicks = Convert.ToInt64(callAttribute);
startDateTime = new DateTime(numberOfTicks);

的值为callAttribute= "1379953111"

转换后的值numberOfTicks= 1379953111

DateTime最终是startDateTime={1/1/0001 12:02:17 AM}

我采用相同的刻度值并将其在线转换,并得出正确的日期/时间。

我究竟做错了什么?

4

1 回答 1

20

您的价值似乎不是刻度数;我怀疑这是一个 UNIX 时间戳(自 1970/01/01 UTC 以来的秒数)

这是一个从 UNIX 时间戳转换的函数:

static readonly DateTime _unixEpoch =
    new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

public static DateTime DateFromTimestamp(long timestamp)
{
    return _unixEpoch.AddSeconds(timestamp);
}
于 2013-09-23T16:32:32.217 回答