从人类可读格式的响应JSON转换日期和时间

时间:2019-02-17 18:25:59

标签: json regex

响应JSON中的日期和时间如下:

2019-02-17T05:28:00

我尝试使用Regex将其转换为以下格式:

17.02.2019 at 05:28:00

但是失败了。

let string = string
    .split("T")
    .join("")
    .split("-")
    .join("");


  string = string.replace(
    /(\d{4})(\d{2})(\d{2})(\d{8})/,
    "$3$2$1$4"
  );

正确的方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式捕获不同组中的年份月份日期和时间,

(\d{4})-(\d{2})-(\d{2})T(\d{2}:\d{2}:\d{2})

并替换为此,

$3.$2.$1 at $4

Demo

JavaScript演示

var s = "2019-02-17T05:28:00"
console.log(s.replace(/(\d{4})-(\d{2})-(\d{2})T(\d{2}:\d{2}:\d{2})/g,'$3.$2.$1 at $4'))

答案 1 :(得分:1)

您最好的选择是使用诸如Moment.js之类的日期时间处理库,该库提供各种不错的日期处理功能。

然后您可以做类似的事情

const moment = require("moment");

let formattedDate = moment.utc(isoDateVariable, moment.ISO_8601).format("DD/MM/YYYY");

它还可以帮助您解决程序中确实不希望自己处理的与日期和时间相关的所有常规问题。