我正在制作一个日历程序。“扩展重复事件”代码给我带来了无穷无尽的麻烦。我通过使用 mktime() 来扩展事件以获取“纯”时间值,然后将重复增量(在本例中为 604800 秒或 7 天)添加到它。localtime() 然后用于获取日历结构。
有时候是这样的:
原始事件: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"}
第三次重复: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()
吗?