按 javascript 将带日期的字符串格式化为另一种格式
Format string with date by javascript to another format
我有这种格式的字符串:
var date = "2012-02-12";
我想要return这种格式的日期:
12.2.2012
最简单的方法是什么?
我在尝试
var date = new Date( "2012-02-12" ).format("dd.m.yy");
但它的 returning 错误 undefined 不是函数。
var string = '2012-02-12';
var string = string.replace(/-/g, ".");
这会将 2012-02-12 转换为 2012.02.12
所以看起来最短的路是这样的:
var protocolDate = protocolDate.substr(8,2)+"."+
protocolDate.substr(5,2)+"."+
protocolDate.substr(0,4);
您不能为此使用本机 javascript 函数,这不是有点适得其反且令人沮丧吗?
您只需要重新格式化字符串,因此在支持 ES5 数组方法的浏览器中:
'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 日,而第一种格式无疑是前者。
我有这种格式的字符串:
var date = "2012-02-12";
我想要return这种格式的日期:
12.2.2012
最简单的方法是什么? 我在尝试
var date = new Date( "2012-02-12" ).format("dd.m.yy");
但它的 returning 错误 undefined 不是函数。
var string = '2012-02-12';
var string = string.replace(/-/g, ".");
这会将 2012-02-12 转换为 2012.02.12
所以看起来最短的路是这样的:
var protocolDate = protocolDate.substr(8,2)+"."+
protocolDate.substr(5,2)+"."+
protocolDate.substr(0,4);
您不能为此使用本机 javascript 函数,这不是有点适得其反且令人沮丧吗?
您只需要重新格式化字符串,因此在支持 ES5 数组方法的浏览器中:
'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 日,而第一种格式无疑是前者。