簡體   English   中英

從給定日期開始的星期幾

[英]Day of the week from a given date

我需要找到給定日期的工作日; 我有以下代碼但不起作用

int day;
char *str ="25/02/2014";  
struct tm tm;

if (strptime(str, "%d/%m/%Y", &tm) != NULL)
{
    time_t t = mktime(&tm);
    day = localtime(&t)->tm_wday;
    return day;
}

我在這做錯了什么?

你應該采取struct tm tm; 而不是struct tm * tm;

你需要使用memset(&tm,0x00,sizeof(tm));初始化tm memset(&tm,0x00,sizeof(tm)); 否則mktime將返回-1

日期為27/02/2014的結果4是正確的,請參閱time.h

描述
...
int tm_wday星期幾[0,6](星期日= 0)。

星期日是0,星期一= 1,星期二= 2,星期三= 3, 星期四= 4 ,......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM