相关疑难解决方法(0)

有没有办法让Object.freeze()成为一个JavaScript日期?

根据MDN Object.freeze()文档:

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要么失败要么无所事事.任何想法如何冻结日期?

javascript immutability node.js

75
推荐指数
4
解决办法
3383
查看次数

Javascript闰年日期验证

我尝试在现有的 stackoverflow 答案中寻找解决方案,但没有找到合适的答案...

我有3个字段..

  • select
  • select
  • 日期 select

如果您选择闰年意味着,二月的日期将更改为 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)

javascript

6
推荐指数
1
解决办法
2904
查看次数

使用 moment.js 获取月份和年份的所有日期和日期

以下代码来自 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 找到解决方案

javascript angularjs momentjs

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×3

angularjs ×1

immutability ×1

momentjs ×1

node.js ×1