当月份从 0 开始时从字符串中获取日期
get date from string when months start from 0
我一直以 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 日?
没有以这种方式解析日期的内置方法,因为这不是通常编写日期的方式。
您可以将字符串拆分为组件,并从中创建一个日期:
var s = currentDateText.split('-');
var newDate = new Date(parseInt(s[0], 10), parseInt(s[1], 10), parseInt(s[2], 10));
没有内置方法,我不认为 moment 也提供一次。
您可以拆分字符串,然后使用 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');
我一直以 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 日?
没有以这种方式解析日期的内置方法,因为这不是通常编写日期的方式。
您可以将字符串拆分为组件,并从中创建一个日期:
var s = currentDateText.split('-');
var newDate = new Date(parseInt(s[0], 10), parseInt(s[1], 10), parseInt(s[2], 10));
没有内置方法,我不认为 moment 也提供一次。
您可以拆分字符串,然后使用 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');