2010-08-02 12 views

답변

3

확인 strptime() 기능 :

char *strptime(const char *s, const char *format, struct tm *tm); 

strptime() 함수 strftime(3)의 반대 기능이며 문자열이 가리키는 TM 구조에 저장되어있는 값의 가리키는 변환 to 형식으로 지정된 형식을 사용하는 tm.

1

평일을 계산하려면 mktime()을 사용하십시오.

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

int main(void) { 
    const char *p = "2010-03-01"; 
    struct tm t; 
    memset(&t, 0, sizeof t); // set all fields to 0 
    if (3 != sscanf(p,"%d-%d-%d", &t.tm_year, &t.tm_mon, &t.tm_mday)) { 
    ; // handle error; 
    } 
    // Adjust to struct tm references 
    t.tm_year -= 1900; 
    t.tm_mon--; 
    // Calling mktime will set the value of tm_wday 
    if (mktime(&t) < 0) { 
    ; // handle error; 
    } 
    printf("DOW(%s):%d (0=Sunday, 1=Monday, ...)\n", p, t.tm_wday); 
    // DOW(2010-03-01):1 (0=Sunday, 1=Monday, ...) 
    return 0; 
} 
관련 문제