javascript - Javascript new Date() 不起作用...有时
问题描述
我这辈子都想不通。下面的代码没有给我星期几,而是给我“选择日期”选项:
var year = '21';
var month = '4';
var date = '3';
var dow = new Date(parseInt(year), parseInt(month) - 1, parseInt(date)).getDay() || 'Choose date';
console.log(dow);
如果我将月份更改为“3”,它工作正常。事实上,它适用于我尝试过的绝大多数组合。另一个不起作用的组合是年 = '21',月 = '10',日期 = '2'。我错过了什么?我正在 Chrome 中尝试这个。请帮忙!
解决方案
星期日被认为是一周的第一天,因此如果您getDay()
在表示星期日的日期对象上使用,则输出将为0
. 结果0 || 'Choose date'
是'Choose date'
var date = new Date("2021-01-31T00:00:00.000Z");
console.log(date);
console.log(date.getDay());
console.log(date.getDay() || "Choose Date");
如果您想知道为什么0 || "text"
is not的结果0
,那是因为0
被认为是虚假的,并且结果falsy || else
始终是第二部分。
您可以查看此页面以查看哪些值被认为是虚假的(不在该组中的所有值都被认为是真实的)
推荐阅读
- asp.net - how to insert multiple rows database in asp.net core 2.1
- r - How to knit a nested choice in RMarkdown?
- python - 如何在 PyCharm 中运行命令而无需运行整个脚本?
- julia - 如何在 Julia 的函数中返回不同的东西
- python - Python添加时间限制并检查他们是否已经行动
- docker - 如何在主机上以确切用户身份运行 docker 容器?
- python - 我们可以用 python 更改对话流实现设置吗?
- android - Jitpack 不构建项目
- asp.net - Footable 分页限制在某些情况下不起作用
- c++ - 在 Visual Studio 2017 中使用库设置 vc++ 项目的正确方法