64 bits(8 bytes) time stamp

I'm not sure where to post this, but here goes:


I'm trying to understand how a binary file (.olk Outlook office 2016 for MAC) works.
I'm using a hex editor do this. I understand most of the file, however I am stuck with this timestamp problem. I am 100% sure that a part of this hex is the actual timestamp:

'00 00 00 5F BF 35 BE 41'

On screen, it outputs: 23 Jan 2017 10:04:39

'00 00 00 5F BF 35 BE 41' value is 4737282954089201664 according to little endian

'00 00 00 5F BF 35 BE 41' value is 411229863489 according to big endian


If i edit(modify) hex value 00 00 00 5F BF 35 BE 41 than i get Date and time which is 1 Jan 2001 05:30:00 .
One of the strategies for timestamps is to store the number of seconds from some Epoch (say midnight Jan 01 1900)

Just an idea :+)

Btw, please don't double post.
It appears to be a double number dumped into the file:
1
2
const unsigned char bytes[] = {0x00, 0x00, 0x00, 0x5F, 0xBF, 0x35, 0xBE, 0x41};
std::cout << std::fixed << *(double *)bytes << std::endl;

The value appears to contain the number of seconds since 2001-01-01 00:00:00 (UTC+0).
Topic archived. No new replies allowed.