最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Splitting date in Javascript - Stack Overflow

programmeradmin5浏览0评论
var date = "1st December,2016"

How can I split this string to get date,month and year? I am doing date.split(" ",1) then I am getting output as "1st". Now how to get December and 2016?

var date = "1st December,2016"

How can I split this string to get date,month and year? I am doing date.split(" ",1) then I am getting output as "1st". Now how to get December and 2016?

Share Improve this question edited Jan 18, 2017 at 5:56 Marty 39.5k19 gold badges96 silver badges163 bronze badges asked Jan 18, 2017 at 5:54 abhjtabhjt 4425 gold badges11 silver badges26 bronze badges 4
  • 1 The documentation for split will provide the answer you're after. – Marty Commented Jan 18, 2017 at 5:57
  • momentjs.com – GibboK Commented Jan 18, 2017 at 5:58
  • 1 Split by space OR comma (date.split(/[ ,]/)). – user663031 Commented Jan 18, 2017 at 5:59
  • this is what you are looking for – hcb Commented Jan 18, 2017 at 5:59
Add a comment  | 

5 Answers 5

Reset to default 8

If you could make sure that your string always has that format, the simplest way is to use 2 split command:

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]);

Update: I just realize split could be used with Regex, so you could use this code too:

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

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

Use Regular Expression for that,

 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]);
    
}

Instead of

date.split(" ",1)

Just use

var dateparts = date.split(" ");

And then access each part as an array element.

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

I would create a date object out of my string value and use is to get all values.

Example Snippet:

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());

Update:

Snippet to get intended output: (get month as string)

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());

var date = "1st December,2016";

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

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

评论列表(0)

  1. 暂无评论