获取格式化的字符串的最佳方法,如...
YYYY-MM-DD
并使其显示为......
MM/DD/YYYY
它不是javascript日期对象的原因是因为我正在处理大量数据,而这些日期正从数据库中提取。
我认为没有必要将其转换为日期对象。
答案 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方法可能是处理它的最佳方式。