Преобразование тиков в DateTime
На этом сайте есть ряд вопросов, объясняющих, как это сделать. Моя проблема, когда я делаю то, что, кажется, работает для всех остальных, я не получаю правильную дату или время. Код...
long numberOfTicks = Convert.ToInt64(callAttribute);
startDateTime = new DateTime(numberOfTicks);
Значение callAttribute
is = "1379953111"
После его преобразования значение numberOfTicks
= 1379953111
Но DateTime
заканчивается startDateTime
= {1/1/0001 12:02:17 AM}
Я взял то же значение для тиков и конвертировал его в онлайн, и он пришел к правильной дате/времени.
Что я делаю неправильно?
Ответы
Ответ 1
Ваше значение не похоже на количество тиков; Я подозреваю, что это временная метка 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);
}