将刻度转换为DateTime

时间:2013-09-23 16:31:15

标签: c# datetime

本网站上有许多问题解释如何执行此操作。我的问题当我做什么似乎对其他人都有效时我没有得到正确的日期或时间。代码是......

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

callAttribute的值=“1379953111”

转换后,numberOfTicks = 1379953111

的值

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

我已经为ticks取了相同的值并在线转换它,它会提供正确的日期/时间。

我做错了什么?

1 个答案:

答案 0 :(得分:18)

您的价值似乎不是多少蜱;我怀疑这是一个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);
}