日期字符串格式

时间:2010-02-03 18:19:43

标签: javascript string

获取格式化的字符串的最佳方法,如...

YYYY-MM-DD

并使其显示为......

MM/DD/YYYY

它不是javascript日期对象的原因是因为我正在处理大量数据,而这些日期正从数据库中提取。

我认为没有必要将其转换为日期对象。

4 个答案:

答案 0 :(得分:4)

怎么样:

s.substr(5,2) + '/' + s.substr(8) + '/' + s.substr(0,4)

答案 1 :(得分:1)

通过蛮力你可以做类似的事情:

var old = '2010-02-03'.split('-');
var desired = old[1] + '/' + old[2] + '/' + old[0];

保存使用Date对象的麻烦。

答案 2 :(得分:1)

您可以在JavaScript中使用正则表达式(假设JS,因为您的问题被标记为):

var date = "2010-05-09";
var formatted = date.replace(/([0-9]{4})-([0-9]{2})-([0-9]{2})/, "$2/$3/$1")

我喜欢这个,而不是使用子串,这似乎更明显是在做什么。

答案 3 :(得分:1)

如果用斜杠替换破折号它将解析,那么你可以使用日期函数来获取各种组件(或使用各种toString()函数之一转换为字符串)。

var date = new Date( Date.parse( old.replace(/-/g,'/') ) );
alert( date.getMonth() + '/' + date.getDate() + '/' + date.getFullYear() );

这样做的好处是能够将日期用作计算日期,而不仅仅是进行字符串格式化。如果您需要字符串格式 AND ,您的日期字符串始终有效,那么使用@Guffa的substr方法可能是处理它的最佳方式。