我正在做一個日曆程序。 '擴展重複事件'的代碼給了我無盡的麻煩。我通過使用mktime()來擴展事件以獲得'純'時間值,然後將重複增量(在這種情況下爲604800秒或7天)添加到它。然後使用localtime()來取消日曆結構。localtime()得到它錯誤,說日期= 9月31日
出現這種情況:
原始事件:9月10日
{tm_sec = 0, tm_min = 0, tm_hour = 16, tm_mday = 10, tm_mon = 9,
tm_year = 2012, tm_wday = 4, tm_yday = 283, tm_isdst = 0,
tm_gmtoff = -25200, tm_zone = 0x608ff0 "PDT"}
首個重複:9月17日
{tm_sec = 0, tm_min = 0, tm_hour = 17, tm_mday = 17, tm_mon = 9,
tm_year = 2012, tm_wday = 4, tm_yday = 290, tm_isdst = 1,
tm_gmtoff = -25200, tm_zone = 0x608ff0 "PDT"}
第二次重複:9月24日
{tm_sec = 0, tm_min = 0, tm_hour = 16, tm_mday = 24, tm_mon = 9,
tm_year = 2012, tm_wday = 4, tm_yday = 297, tm_isdst = 0,
tm_gmtoff = -25200, tm_zone = 0x608ff0 "PDT"}
三[R評論:9月31日?!
{tm_sec = 0, tm_min = 0, tm_hour = 16, tm_mday = 31, tm_mon = 9,
tm_year = 2012, tm_wday = 4, tm_yday = 304, tm_isdst = 0,
tm_gmtoff = -25200, tm_zone = 0x608ff0 "PDT"}
有沒有人有任何想法這裏發生了什麼?我需要自己填寫localtime()
嗎?
請記住,'tm_year'是自1900年以來的年數。所以如果你想要2012年(今年),它應該是112. –
「...它不是**編譯器錯誤...」 (注意:這一次我沒有倒下 - 這是一個容易犯的錯誤,我確信我也會這麼做......) – 2012-12-01 21:38:18