这是一个及时的问题。北美*关于时间更改的规则是:
考虑JavaScript中的一个带有Date参数的函数,该函数应确定该参数是Standard还是Daylight Saving。
问题的根源是:
当前的算法/伪代码如下所示:
如果argDate ==“March”
{
var firstOfMonth = new Date();
firstOfMonth.setFullYear(year,3,1);
//星期几(0 =星期日,6 =星期六)
var firstOfMonthDayOfWeek = firstOfMonth.getDay();
var firstSunday;
if(firstOfMonthDayOfWeek!= 0)//周日!
{
//需要找到一种方法来确定哪个日期是第二个星期日
}
}
这里的约束是使用标准的JavaScript函数,而不是爬取任何JavaScript引擎对Date对象的解析。该代码将不会在浏览器中运行,因此那些好的解决方案将不适用。
**并非北美所有地方/地区都会更改时间。*
最佳答案
if argDate == "March"
{
var firstOfMonth = new Date();
firstOfMonth.setFullYear(year,3,1);
//the day of week (0=Sunday, 6 = Saturday)
var firstOfMonthDayOfWeek = firstOfMonth.getDay();
var daysUntilFirstSunday = (7-firstOfMonthDayOfWeek) % 7;
var firstSunday = firstOfMonth.getDate() + daysUntilFirstSunday;
// first Sunday now holds the desired day of the month
}