1
#include <time.h>
#include <iostream>
int main()
{
struct tm dayofmonth = {0};
int iYear = 2012;
int iMonth = 2; // February
dayofmonth.tm_year = iYear - 1900;
dayofmonth.tm_mon = iMonth;
dayofmonth.tm_mday = 0;
dayofmonth.tm_isdst = 0;
mktime(&dayofmonth);
std::cout << "Number of days for the month " << dayofmonth.tm_mon << " is " << dayofmonth.tm_mday << std::endl;
}
特定の月の日数を見つけるために、単純なルーチンを書く必要があります。しかし、mktimeの場合、なぜ月番号-1の代わりに実際の月番号を渡すべきですか?mktimeに渡すときに月の数字を実際の月に設定するのはなぜですか?
mktimeを呼び出した後、tm_monは渡された元の月の代わりに月-1を返します。
しかし、私はtm_mdayを0に渡さないと、その月の合計日数は取得できません。 – user373215