0
< time.h>を使用して、文字列と日付をC++で変換しています。日付を文字列に変換するC++
int main() {
string dateFormat = "%m-%d-%Y %H:%M:%S";
tm startDate, endDate;
if (strptime("1-1-2004 01:01:01", &dateFormat[0], &startDate) == NULL) { exit(1); }
if (strptime("1-1-2010 00:00:00", &dateFormat[0], &endDate) == NULL) { exit(1); }
cout << "startDate: " << asctime(&startDate)
<< " endDate: " << asctime(&endDate) << endl;
time_t startDate2 = mktime(&startDate);
time_t endDate2 = mktime(&endDate);
cout << "startDate: " << asctime(localtime(&startDate2))
<< " endDate: " << asctime(localtime(&endDate2)) << endl;
return 0;
}
私は出力としてこれを取得:
startDate: Thu Jan 1 01:01:01 2004
endDate: Thu Jan 1 01:01:01 2004
startDate: Thu Jan 1 01:01:01 2004
endDate: Thu Jan 1 01:01:01 2004
なぜ開始日が終了日と同じですか?また、誰かがこれを行うより良い方法を持っている場合は、話してください。