安全地使用时刻进行日期操作

时间:2017-03-03 13:06:57

标签: javascript momentjs

请参阅有关安全使用时刻库​​的信息here。我一直在使用这篇文章来清理我们对库的使用,作为升级jQuery库的过程的一部分。

我知道这是安全的,这在我引用的文章中得到了证实:

var m = moment($('#fromDate').val(), 'MM/DD/YYYY');

考虑这行代码:

 var now = moment(new Date());

在我链接的文章的上下文中,这是否可以接受或是否有更安全的方法?

非常感谢任何见解,文章等。

1 个答案:

答案 0 :(得分:3)

http://momentjs.com/docs/#/parsing/now应该告诉你所有你需要知道的事情。你可以var now = moment()。根本不需要new Date(),但如果你这样做,它应该有用。

您链接到的GitHub问题都是关于解析字符串,与将“Date”对象传递给moment构造函数无关。不相关。基本上它是说如果你传递一个当前不理解的字符串,它将回退到使用JS的默认日期对象使用的解析器(即好像你将一个字符串传递给Date构造函数),并且这很容易出现不确定的行为

你的建议

var now = moment(new Date(), 'MM/DD/YYYY');

没有意义,因为new Date()创建了一个对象,只有当你试图解析一个字符串(然后将其转换为一个对象)时才需要第二个“format”参数。