在Javascript中拆分日期

时间:2017-01-18 05:54:12

标签: javascript

var date = "1st December,2016"

如何拆分此字符串以获取日期,月份和年份? 我正在做date.split(" ",1)然后我输出为“1st”。现在如何获得12月和2016年?

5 个答案:

答案 0 :(得分:2)

使用正则表达式



 function ShowDateParts()
{   

 var regex =/\s|,/g;
fullDate = "1st December,2016";
var dateParts =fullDate.split(/[\s|,]/g);
alert("date : "+ dateParts[0] + " Month : " +dateParts[01] + " Year : " + dateParts[02]);
    
}




答案 1 :(得分:2)

如果您可以确保您的字符串始终具有该格式,最简单的方法是使用2 split命令:

var date = "1st December,2016";

var arr1 = date.split(' ');
var arr2 = arr1[1].split(',');

console.log('date: ', arr1[0]);
console.log('month: ', arr2[0]);
console.log('year: ', arr2[1]);

更新:我刚才意识到split可以与Regex一起使用,所以你也可以使用这个代码:

var date = '1st December,2016';
var arr = date.split(/ |,/);

console.log('date: ', arr[0]);
console.log('month: ', arr[1]);
console.log('year: ', arr[2]);

答案 2 :(得分:0)

我会从字符串值中创建一个日期对象,并使用is获取所有值。

示例代码段:

var date = "1st December,2016";
//reftor to valid date
var validDate = date.replace(/(st)/, '');
//create date object
var dateObj = new Date(validDate);
//get any value you need
console.log(dateObj.getDate());
console.log(dateObj.getMonth());

更新

获取预期输出的片段:(以月为字符串)

var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

var date = "1st December,2016";
//reftor to valid date
var validDate = date.replace(/(st)/, '');
//create date object
var dateObj = new Date(validDate);
//get any value you need
console.log(dateObj.getDate());
console.log(monthNames[dateObj.getMonth()]);
console.log(dateObj.getFullYear());

答案 3 :(得分:0)

而不是

date.split(" ",1)

只需使用

var dateparts = date.split(" ");

然后以数组元素的形式访问每个部分。

var day=dateparts [0]; var month=dateparts [1].slice(0, -1); var year=dateparts [2];

答案 4 :(得分:0)

var date = "1st December,2016";

var dataArray = date.split(/[ ,]/);

console.log('Day:' + dataArray[0]);
console.log('Month:' + dataArray[1]);
console.log('Year:' + dataArray[2]);