Javascript:将datetime转换为DD/MM/YYYY - 时间?

Dav*_*ope 2 javascript jquery datetime

我有一个datetime看起来像这样:

2017-04-17 18:26:03
Run Code Online (Sandbox Code Playgroud)

如何使用javascript或jquery将其转换为此格式:

17/04/2017 18:26
Run Code Online (Sandbox Code Playgroud)

我发现这个问题我认为可能对我有所帮助,但答案是转换时间戳,但我的时间戳不是时间戳.

如何在jQuery中将DateTime值转换为dd/mm/yyyy?

tri*_*cot 5

您可以在replace调用中使用正则表达式:

input.replace(/^(\d+)-(\d+)-(\d+)(.*):\d+$/, '$3/$2/$1$4');
Run Code Online (Sandbox Code Playgroud)

var input = '2017-04-17 18:26:03';
var result = input.replace(/^(\d+)-(\d+)-(\d+)(.*):\d+$/, '$3/$2/$1$4');
console.log(result);
Run Code Online (Sandbox Code Playgroud)

说明

  • ^:匹配字符串的开头.
  • (\d+):捕获与数字匹配的组.$1对于第一组,可以对捕获的组进行反向引用,$2对于第二个参数,可以对第二组等进行反向引用.
  • :\d+$:匹配冒号后跟数字和字符串($)的结尾:由于未捕获,因此结果中将省略此部分(秒).


Xot*_*750 5

您可以使用简单的字符串和数组操作。

const dateTime = '2017-04-17 18:26:03';
const parts = dateTime.split(/[- :]/);
const wanted = `${parts[2]}/${parts[1]}/${parts[0]} ${parts[3]}:${parts[4]}`;
console.log(wanted);
Run Code Online (Sandbox Code Playgroud)

附加:如果您没有支持模板文字的环境,那么您可以这样编写。

const dateTime = '2017-04-17 18:26:03';
const parts = dateTime.split(/[- :]/);
const wanted = parts[2] + '/' + parts[1] + '/' + parts[0] + ' ' + parts[3] + ':' + parts[4];
console.log(wanted);
Run Code Online (Sandbox Code Playgroud)