通过javascript将带有日期的字符串格式化为另一种格式

Format string with date by javascript to another format

本文关键字:格式化 字符串 另一种 格式 日期 javascript 通过      更新时间:2023-09-26

我有这种格式的字符串:

var date = "2012-02-12";

我想以这种格式返回日期:

12.2.2012

最简单的方法是什么?我在努力

var date = new Date( "2012-02-12" ).format("dd.m.yy");

但它返回的错误未定义不是一个函数。

var string = '2012-02-12';
var string = string.replace(/-/g, ".");

这将转换 2012-02-12 到 2012.02.12

您只需要重新格式化字符串,因此在支持 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日,而第一种格式无疑是前者。

所以看起来最短的方法是这样的:

var protocolDate = protocolDate.substr(8,2)+"."+
                   protocolDate.substr(5,2)+"."+
                   protocolDate.substr(0,4);
你不能

为此使用原生 JavaScript 函数,是不是有点令人沮丧和沮丧?