十六进制的人体可读时间戳

时间:2013-11-07 05:52:50

标签: c timestamp hex

如何从十六进制时间戳中获取,例如33 88 72 52对人类可读? 我把它从文件中拉出来作为数组字节= {0x33,0x88,0x72,0x52},我认为它是小端... 有点困在这一个小时左右,谷歌并没有多大的帮助。 感谢。

1 个答案:

答案 0 :(得分:5)

这完全取决于未指定的编码。

但是,在四个字节处, 可以是time_t值,该程序支持该值:

#include <stdio.h>
#include <time.h>

int main (void) {
    time_t tm = 0x52728833;       // little-endian 0x{33,88,72,52}
    printf ("%s\n", ctime (&tm));
    return 0;
}

打印出来:

Fri Nov  1 00:41:23 2013

仅在几天前(从问这个问题时开始)。

所以这是最有可能的(几乎是确定的,我会冒险),你可以使用ISO C的所有奇妙的时间操作和打印功能来实现它。