Моя догадка это будет либо миллисекунды или секунды с момента определенной эпохи - вполне возможно, в Unix эпохи 1 января 1970 года, в полночь по Гринвичу.
Так что код будет выглядеть примерно так:
private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0,
DateTimeKind.Utc);
public static DateTime FromMillisecondsSinceUnixEpoch(long milliseconds)
{
return UnixEpoch.AddMilliseconds(milliseconds);
}
сделать очевидные изменения в секунды, или из другой эпохи :)
Альтернативный подход заключается в создании TimeSpan
из секунд/миллисекунд с эпохи, а затем добавить его к эпохе:
private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0,
DateTimeKind.Utc);
public static DateTime FromMillisecondsSinceUnixEpoch(long milliseconds)
{
return UnixEpoch + TimeSpan.FromMilliseconds(milliseconds);
}
Я не знаю ни одной существенной разницы между ними - хотя тот факт, что AddMilliseconds
принимает double
вместо long
, что для очень больших значений может быть предпочтительным подход TimeSpan
. Я сомневаюсь, что это будет иметь значение, хотя :)
от * UTC int *, вы имеете в виду что-то вроде секунд с эпохи? – bzlm