用破折号分割日期字符串

7

我有一个日期数值,格式如下:20160810

我需要将它分割成正确的日期格式,如下所示:2016-08-10

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

4个回答

9

1
哦,你做得比我快! :) - Otterbein
谢谢!拥有两个选项真的很有帮助。 - Eckstein
@Eckstein:很高兴能帮忙 :) - Pranav C Balan

3

早上好!

您可能想使用 substr() 函数。该函数根据开始和结束字符索引从字符串中剪切子字符串:

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

在第二个例子中,您使用捕获组来捕获三个长度不同的小数,并用带有-的它们自己替换它们。
希望我能帮到您!

1
如果您不喜欢使用正则表达式来处理事情:

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


1
您也可以使用momentjs
> moment("20160810", "YYYYMMDD").format("YYYY-MM-DD")
'2016-08-10'

这是一个很棒的库,是我现在唯一信任的处理日期和时间的工具。 - jakee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接