var date = "1st December,2016"
如何拆分此字符串以获取日期,月份和年份?
我正在做date.split(" ",1)
然后我输出为“1st”。现在如何获得12月和2016年?
答案 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]);