在JavaScript中分割日期字符串的更好方法是什么?
我是从api xml数据中得到的,其中一个xml元素是日期时间,它的nodeValue总是采用这种格式-字符串:“YYYY-MM-DD”。(我无法请求api以不同格式返回日期时间) 我的问题是将此格式拆分并转换为以下字符串:“DD.MM.YYYY” 基本上我是这样做的:在JavaScript中分割日期字符串的更好方法是什么?,javascript,string,split,Javascript,String,Split,我是从api xml数据中得到的,其中一个xml元素是日期时间,它的nodeValue总是采用这种格式-字符串:“YYYY-MM-DD”。(我无法请求api以不同格式返回日期时间) 我的问题是将此格式拆分并转换为以下字符串:“DD.MM.YYYY” 基本上我是这样做的: var myString = "2015-04-10"; //xml nodeValue from time element var array = new Array(); //split string and store
var myString = "2015-04-10"; //xml nodeValue from time element
var array = new Array();
//split string and store it into array
array = myString.split('-');
//from array concatenate into new date string format: "DD.MM.YYYY"
var newDate = (array[2] + "." + array[1] + "." + array[0]);
console.log(newDate);
以下是JSFIDLE:
现在,这段代码可以工作了,但我的问题是:有没有一种方法可以用更少的步骤获得相同的结果?也应该这样做
var newDate = '2015-04-10'.split('-').reverse().join('.')
// ^ ^ ^ join to 10.04.2015
// | |reverses (2 -> 0, 1 -> 1, 0 -> 2)
// | delivers Array
您可以使用具有捕获组的正则表达式,并使用
String.prototype.replace
重新格式化它
var newDate=myString.replace(/(\d{4})-(\d{2})-(\d{2})/,“$3.$2.$1”);
是
“
var array=new array();
”=new array()我需要做相反的事情,但这一行解决方案只是令人兴奋的lol,让我感到惊讶。Thx很多
var newDate = '2015-04-10'.split('-').reverse().join('.');