在JavaScript中拆分日期字符串有没有更好的方法

0 投票
最新提问 1月 6, 2017 用户: 高手 (380 分)

我从api获取到的xml数据,xml中日期元素的格式为:"yyyy-mm-dd"。(我无法修改api的日期时间格式)

我想把源格式转换为这样的字符串:"DD.MM.YYYY"

我的做法如下︰

var myString = "2017-01-06"; //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);

现在这个代码能够正常工作,但是,有没有更好的办法,用较少的步骤获得相同的结果?

2 个回答

0 投票
最新回答 1月 6, 2017 用户: linfeng (520 分)
 
已采纳

以下代码能够实现相同的功能,只有一行。

var newDate = '2017-01-06'.split('-').reverse().join('.')
//                         ^ 分割为数组
//                                    ^反转,即 (2 -> 0, 1 -> 1, 0 -> 2)
//                                              ^ 连接为 06.01.2017

0 投票
最新回答 1月 6, 2017 用户: 鳗鱼

您可以使用具有捕获组的正则表达式,并使用String.prototype.replace对它重新格式化。

var newDate = myString.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3.$2.$1');

欢迎来到编程助手,编程方面有什么不懂的问题可以尽管在这里提问,你将会收到热心爱好者的回答。
...