Ayyash
Ayyash

Reputation: 4399

do you recognize a 16-digit timestamp?

Im working with Google bookmakrs and it returns 16-digit timestamp that i dont seem to be able to recognize in C# to turn into real dates, any ideas?

how to turn this timestamp: 1278276905502403 to something that makes sense in C#?

Upvotes: 9

Views: 11838

Answers (2)

integer
integer

Reputation: 1075

That looks like UNIX time in microseconds. That is, the number of microseconds since 1970.01.01 00:00:00.

Could try something like:

dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddMilliseconds(value/1000);

(Probably a better way to do this, but I don't know C#.)

Python instead:

>>> time.ctime(1278276905502403/1000000)
'Sun Jul  4 22:55:05 2010'

Upvotes: 11

Jack Leitch
Jack Leitch

Reputation: 708

The timestamp is the number of microseconds since the epoch (01/01/1970 00:00:00 UTC).

You can convert it to a DateTime in C# like this:

var timestamp = 1278276905502403;
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var myDate = epoch.AddMilliseconds(timestamp / 1000);

The result for the example timestamp is: 07/04/2010 08:55:05 PM

Upvotes: 4

Related Questions