我有这种格式的字符串:
var date = "2012-02-12";
我想以这种格式返回日期:
12.2.2012
最简单的方法是什么? 我在尝试
var date = new Date( "2012-02-12" ).format("dd.m.yy");
但其未定义的返回错误不是函数。
答案 0 :(得分:1)
var string = '2012-02-12';
var string = string.replace(/-/g, ".");
这会将2012-02-12转换为2012.02.12
答案 1 :(得分:1)
您只需重新格式化字符串,因此在支持ES5 Array方法的浏览器中:
'2012-02-12'.split('-').reverse().map(function(v){return Number(v)}).join('.') // 12.2.2012
但是,您可能需要一种效率更高的功能,即使在非常旧的环境中也能运行:
function reformatDate(s) {
var b = s.split('-');
return b[2] + '.' + Number(b[1]) + '.' + Number(b[0]);
}
console.log(reformatDate('2012-02-12')); // 12.2.2012
如果您不关心将'02'转换为'2',那么:
'2012-02-12'.split('-').reverse().join('.'); // 12.02.2012
将完成这项工作。但是,大多数人将这种格式理解为2月12日,但有些格式将于12月2日理解,而第一种格式明确无误地为前者。
答案 2 :(得分:0)
所以看起来最简单的方法就是:
var protocolDate = protocolDate.substr(8,2)+"."+
protocolDate.substr(5,2)+"."+
protocolDate.substr(0,4);
对于那些不能使用原生javascript功能的人而言,这有点令人沮丧和令人沮丧吗?