Вы распознаете 16-разрядную метку времени?

Я работаю с Google bookmakrs, и он возвращает 16-разрядную метку времени, которую я, кажется, не могу распознать в C# для превращений в реальные даты, какие-либо идеи?

как повернуть эту метку времени: 1278276905502403 к чему-то, что имеет смысл в C#?

6
задан Ayyash 10 July 2010 в 12:20
поделиться

2 ответа

Это похоже на время 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'
9
ответ дан 8 December 2019 в 18:32
поделиться

Временная метка - это количество микросекунд с момента наступления эпохи (01/01/1970 00:00:00 UTC).

Вы можете преобразовать ее в DateTime в C# следующим образом:

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

4
ответ дан 8 December 2019 в 18:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: