我试着通过Javascript getDay()中的Date对象功能获得一周的一天.理论上它工作正常,但有时输出会有延迟,因此如果函数返回"4",则返回"1".
例如
var date= new Date("2009","04","30");
alert(date.getDay()); // the function returns 6, should return 4
var date= new Date("2009","05","01");
alert(date.getDay()); // the function returns 1, should return 5
Run Code Online (Sandbox Code Playgroud)
我真的不知道为什么会这样.这个例子来自IE8.FF 3表现相似,但返回不同的值.第一个是7,而不是4.第二个就像在IE8中一样.
任何想法为什么会这样?
今天是星期一,上午 00:51 我来自魁北克市,因此我的时间为 GMT-0500 (UTC\xe2\x88\x9205:00)
\n\n我不知道为什么下面的代码给了我两个不同的结果:
\n\nconst weekday = Array(\'sunday\', \'monday\', \'tuesday\', \'wednesday\', \n \'thursday\', \'friday\', \'saturday\');\n\nconsole.log(\'getDay() =\', weekday[new Date(\'2019-02-18\').getDay()]); \n // getDay() = sunday\n\nconsole.log(\'getUTCDay() =\', weekday[new Date(\'2019-02-18\').getUTCDay()]); \n // getUTCDay() = monday\nRun Code Online (Sandbox Code Playgroud)\n\n在 MDN 网站上,他们说 getDay() 方法根据当地时间返回指定日期的星期几,其中 0 代表星期日。
\n\n他们说的完全一样 getUTCDay() 方法根据通用时间返回指定日期中的星期几,其中 0 代表星期日。
\n\n唯一的区别是,一种是根据当地时间,另一种是根据世界时间......
\n\n我不确定我应该验证什么来理解我在 Node.js (Typescript)和控制台Chrome DevTools (Javascript)中尝试的差异
\n\n在我的电脑设置中,一周的第一天是星期日...
\n