0
如何在同一時間從struct tm中減去一天,以確保新日期有效。如何從struct tm中減去一天但確保完整性?
例如,
struct tm time = {};
time.tm_year = year - 1900;
time.tm_mon = month - 1;
time.tm_mday = day;
與日= 1,月= 9,和年= 2014
所以,如果我現在減去一天time.tm_mday = 0,這是無效的。
但我不能只將tm_mday設置爲31,並將月份減1,因爲我不知道運行時場景中上個月有多少天。
不要嘗試這個自己編寫。使用這樣的std功能:http://stackoverflow.com/a/2344845/402169 – tenfour 2015-02-05 16:46:33
非常感謝@tenfour – user2822838 2015-02-05 16:53:07
雖然我同意@tenfour,你只需要檢查一天是否大於一,如果不是,然後減去1,並將該日設置爲上個月的最後一天。每個月的天數並不相同,而且事實上你也不得不考慮閏年,而走上這條路線要容易得多。 – mgrenier 2015-02-05 16:56:31