在 JavaScript 中拆分日期字符串的更好方法是什么?
What is the better way to split Date string in JavaScript?
我从 api xml 数据中获取,其中 xml 元素之一是日期时间,其中 nodeValue 始终采用这种格式 - 字符串:"YYYY-MM-DD" . (我无法请求从 api 到 return 我的不同格式的日期时间)
我的问题是将此格式拆分并转换为此字符串:"DD.MM.YYYY"
基本上我是这样做的:
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);
这是 jsfiddle:http://jsfiddle.net/wyxvbywf/
现在,此代码有效,但我的问题是:有没有一种方法可以用更少的步骤获得相同的结果?
也应该这样做
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})/, '..');
是的。
var newDate = '2015-04-10'.split('-').reverse().join('.');
我从 api xml 数据中获取,其中 xml 元素之一是日期时间,其中 nodeValue 始终采用这种格式 - 字符串:"YYYY-MM-DD" . (我无法请求从 api 到 return 我的不同格式的日期时间)
我的问题是将此格式拆分并转换为此字符串:"DD.MM.YYYY"
基本上我是这样做的:
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);
这是 jsfiddle:http://jsfiddle.net/wyxvbywf/
现在,此代码有效,但我的问题是:有没有一种方法可以用更少的步骤获得相同的结果?
也应该这样做
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})/, '..');
是的。
var newDate = '2015-04-10'.split('-').reverse().join('.');