用破折号分割日期字符串

时间:2016-08-11 05:03:19

标签: jquery date split

我有这种格式的日期值:20160810

我需要将其拆分为正确的日期格式,如下所示:2016-08-10

在jquery中,我将如何实现这一目标?我不能使用split(),因为它必须有一个分隔符来引用,所以我不确定是否有一个可以根据字符数进行分割的函数。

4 个答案:

答案 0 :(得分:5)

使用 String#replace 方法



var res = '20160810'.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3')

console.log(res);




Regex explanation here.

Regular expression visualization

或使用 String#slice 方法



var str = '20160810';

var res = str.slice(0, 4) + '-' + str.slice(4,6) + '-' + str.slice(-2);

console.log(res);




答案 1 :(得分:1)

如果你不使用RegExp做事:

var dateArray = '20160810'.split('')
var year = dateArray.slice(0,4).join('')
var month = dateArray.slice(4,6).join('')
var day = dateArray.slice(6).join('')
console.log([year, month, day].join('-'))

答案 2 :(得分:1)

早上好!

也许您尝试使用 substr()函数。此函数根据开头和结尾charindex

从字符串中剪切子字符串
var string = "20160810";
var date = string.substr(0,3)+"-"+string.substr(4,5)+"-"+string.substr(6,7);

这也可以使用正则表达式:

var string = "20160810";
var date = string.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); //2016-08-10

在第二个示例中,您使用捕获组捕获三个不同长度的小数,并将它们替换为以-分隔的自身。

我希望我能帮忙!

答案 3 :(得分:1)

您也可以使用momentjs

> moment("20160810", "YYYYMMDD").format("YYYY-MM-DD")
'2016-08-10'