该
Object.freeze()方法冻结了一个对象:即阻止向其添加新属性; 防止删除现有属性; 并防止现有属性或其可枚举性,可配置性或可写性被更改.实质上,该对象实际上是不可变的.该方法返回被冻结的对象.
我原以为在日期上调用冻结会阻止对该日期的更改,但它似乎不起作用.这是我正在做的(运行Node.js v5.3.0):
let d = new Date()
Object.freeze(d)
d.setTime(0)
console.log(d) // Wed Dec 31 1969 16:00:00 GMT-0800 (PST)
Run Code Online (Sandbox Code Playgroud)
我本以为setTime要么失败要么无所事事.任何想法如何冻结日期?
我尝试在现有的 stackoverflow 答案中寻找解决方案,但没有找到合适的答案...
我有3个字段..
selectselectselect如果您选择闰年意味着,二月的日期将更改为 29 天.. 但仍然显示 28 天.. 不知道我的代码有什么问题。
var numDays = {
'1': 31, '2': 28, '3': 31, '4': 30, '5': 31, '6': 30,
'7': 31, '8': 31, '9': 30, '10': 31, '11': 30, '12': 31
};
function setDays(oMonthSel, oDaysSel, oYearSel)
{
var nDays, oDaysSelLgth, opt, i = 1;
nDays = numDays[oMonthSel[oMonthSel.selectedIndex].value];
if (nDays == 28 && oYearSel[oYearSel.selectedIndex].value % 4 == 0)
++nDays;
oDaysSelLgth = oDaysSel.length;
if (nDays != oDaysSelLgth)
{ …Run Code Online (Sandbox Code Playgroud)以下代码来自 moment.js 文档
moment().date(Number);
moment().date(); // Number
moment().dates(Number);
moment().dates(); // Number
Run Code Online (Sandbox Code Playgroud)
但输入parameter数据类型是数字而不是短月份名称和年份,这是我的要求输入。
下面是我的输入格式,如数组对象
`$scope.allMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Act", "Nov", "Dec"];
$scope.Year=2017;// `
Run Code Online (Sandbox Code Playgroud)
所以我有月份和年份,现在我想通过使用 moment.js 获取所有日期和日期
我在下面的Answer中使用普通的 javascript 得到了确切的结果。但仍然无法使用 moment.js 找到解决方案