我们有一个应用程序需要知道触发DST开始和结束日期的具体日期和时间。例如在美国,DST在3月的第一个星期天开始。
三月的第二个星期天总是YYYY-W10-7吗?现场检查年份似乎证实了这一点,但我对正式证据更加满意。
答案 0 :(得分:0)
3月的第二个星期日有3/8(如果星期日是3/1)到3/14(如果星期六是3/1)的范围。
如果3月的第二个星期日是3/8(最早可能的日期)且年份不是闰年,那么1月1日是星期四,这使得一年中的第一周符合W01的要求。计数从1月1日到3月8日,然后是3月8日,然后发生在W11-7。这种情况发生在2009年(因此可以手动进行现场检查)。
如果第二个星期日是3月14日(最晚可能的日期)且年份不是闰年,则1月1日是星期五,使得该周不符合W01的条件,W01将于1月4日开始。从1月4日到3月14日,然后3月14日发生在W10-7。这种情况发生在2010年(因此可以手动进行现场检查)。
所以,遗憾的是,似乎没有一种方法可以用标准的方式在ISO 8601中指定DST开始和结束日期,而无需每年重新审视计算。