Convert Epoch Time string to Time

后端 未结 2 1497
野的像风
野的像风 2020-12-18 14:32

I\'ve been looking for a way to convert a string (in Epoch time) into a date.

Basically, I need to take this: 1360440555 (in string form) and make it in

相关标签:
2条回答
  • 2020-12-18 14:57

    You could use %s (GNU extension), to convert POSIX timestamp given as a string to the broken-down time tm:

    #define _XOPEN_SOURCE
    #include <stdio.h>
    #include <string.h>
    #include <time.h>
    
    int main() {
        struct tm tm;
        char buf[255];
    
        memset(&tm, 0, sizeof(struct tm));
        strptime("1360440555", "%s", &tm);
        strftime(buf, sizeof(buf), "%b %d %H:%M %Y", &tm);
        puts(buf); /* -> Feb 09 20:09 2013 */
        return 0;
    }
    

    Note: the local timezone is UTC (with other timezone the result is different).

    0 讨论(0)
  • 2020-12-18 15:14

    If only you had that value in an integer instead of a string, you could just call ctime. If only there were some way to convert a string to an integer....

    time_t c;
    c = strtoul( "1360440555", NULL, 0 );
    ctime( &c );
    
    0 讨论(0)
提交回复
热议问题