在javascript中将数字转换为日期格式yyyymmdd为mm / dd / yyyy

时间:2012-03-20 22:30:25

标签: javascript date

我正在使用XML提要并使用JavaScript将其写入HTML。

日期字段包含:

20120319

我想要做的是将其转换为更易读的格式,如:

03/19/2012

在JavaScript中有一种简单的方法吗?

3 个答案:

答案 0 :(得分:7)

理想情况下,您应该使用类似“2012-03-19”的区域设置不敏感日期格式,这在全球范围内都是明确的。那说:

var dateStr = "20120319";
var match = dateStr.match(/(\d{4})(\d{2})(\d{2})/);
var betterDateStr = match[2] + '/' + match[3] + '/' + match[1];

会做你想要的。这个硬编码MDY。如果您想要在欧洲大部分地区使用DMY,请交换match[2]match[3]

如果您希望启发式检测当前区域设置是先选择月份或日期,那么

(new Date('01/02/1970').getDate() === 2)

可以提供帮助。

答案 1 :(得分:6)

一种方法是写:

s = s.replace(/(\d\d\d\d)(\d\d)(\d\d)/g, '$2/$3/$1');

使用正则表达式replace四位数序列,后跟两位数字序列,后跟两位数字序列,第二位数加上/加上第三,加上/加上第一个。

答案 2 :(得分:0)

另一种方法是写

var s = String("20181011"); s = s.slice(4,6)+"/"+s.slice(6,8)+"/"+s.slice(0,4)

仅使用String对象。