C 時間戳轉換成時間

raysuen發表於2017-05-08
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>




int isNumber(char * NUM) //check for a number,ture return non-0,false return 0;
{
    int ret = 0;
    int ct = 0;
    for (ct=0; ct<strlen(NUM); ct++) {
        if ((ret = isdigit(NUM[ct])) == 0) {
            return ret;
        }
        
    }
    return ret;
}




int main(int argc, const char * argv[]) {
    int ret = 0;
    struct tm *p;
    time_t tt;
    char * str = calloc(sizeof(char), 1024);
    
    if (argc > 2) {
        printf("The parameter is only one!!!\n");
        ret = 1;
        goto End;
    }else if (argc < 2){
        printf("The program need a parameter!!!\n");
        ret = 2;
        goto End;
    }
    if (isNumber(argv[1]) == 0) {
        printf("The parameter must be number!!!\n");
        ret = 3;
        goto End;
    }
    if (strlen(argv[1]) != 10) {
        printf("The parameter is not good timestamp!!\n");
        ret = 4;
        goto End;
    }
    tt= atoi(argv[1]);
    p = localtime(&tt);
    strftime(str, 1024, "%F %T", p);
    printf("%s\n",str);
End:
    if (str != NULL) {
        free(str);
    }
    if (str != NULL) {
        free(p);
    }
    return ret;
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28572479/viewspace-2138693/,如需轉載,請註明出處,否則將追究法律責任。

相關文章