【问题标题】:Hex timestamp to human readable in cc语言中人类可读的十六进制时间戳
【发布时间】:2013-11-07 05:52:49
【问题描述】:

如何从十六进制时间戳中获取,例如33 88 72 52 人类可读? 我已经从文件中将它作为数组字节 = {0x33,0x88,0x72,0x52} 拉出来,我认为它是小端序... 在这个问题上停留了一个小时左右,谷歌并没有太多帮助。 谢谢。

【问题讨论】:

    标签: c timestamp hex


    【解决方案1】:

    这完全取决于编码,没有指定。

    但是,在四个字节处,它可能是一个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 的所有奇妙的时间处理和打印功能来解决这个问题。

    【讨论】:

    • 谢谢,太好了!
    猜你喜欢
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 2018-02-27
    • 2021-11-17
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2018-06-30
    相关资源
    最近更新 更多