月份从0开始,从字符串中获取日期

时间:2015-08-02 17:27:16

标签: javascript date momentjs

我一直以jan为0,dec为11的格式保存我的日期,然后用moment([yearVal, monthVal, dateVal])创建新的时刻。但是现在我需要使用字符串来创建片刻。问题是我无法找到解析它的方法,它认为jan是0月而不是1。

var currentDateText = "2015-0-25";
var newDate = moment(currentDateText, "YYYY-M-D").add(1, 'month');

上述代码有效,除了前一个月有30天且当前有31个月的情况。有没有办法解析一串" 2015-0-25" 2015年1月25日?

2 个答案:

答案 0 :(得分:1)

没有以这种方式解析日期的内置方法,因为它不是通常写日期的方式。

您可以将字符串拆分为组件,并从中创建日期:

var s = currentDateText.split('-');
var newDate = new Date(parseInt(s[0], 10), parseInt(s[1], 10), parseInt(s[2], 10));

答案 1 :(得分:1)

没有构建方法,我也不认为时刻也提供过。

您可以拆分字符串,然后使用Date构造函数创建日期对象。

var currentDateText = "2015-0-25";
var arr = currentDateText.split('-');
var date = new Date(arr[0], arr[1], arr[2])
var newDate = moment(date).add(1, 'month');