如何从 JS 中的对象格式化现有日期

How to format an existing date from an Object in JS

我正在从一个对象中提取创建日期,并像这样接收它: 2021-04-24T05:48:50.650397026Z

我怎样才能把它变成这个?:24.04.2021, 05:48:50

当前日期存储在 firstDate 中。请只使用 vanilla JS,感谢任何帮助 <3

async function getDate(image, tag) {
    return fetch('/registry/v2/' + image + '/manifests/' + tag)
        .then(response => response.json())
        .then(data => JSON.parse(data.history[0].v1Compatibility).created)

const firstDate = await getDate(imageName, tags[0]);
console.log(firstDate); // output is 2021-04-24T05:48:50.650397026Z

您可以使用.toLocaleString方法。

firstDate.toLocaleString();

这里有更详尽的答案

您可以像下面这样编写一个简单的实用程序函数,它将 return 您格式化日期。

function getFormattedDate(date) {
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var year = date.getFullYear();
    var time =  date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
    return day + "." + month + "." + year + ", " + time ;
}

console.log(getFormattedDate(new Date()))

建议尽可能使用Dayjs,因为您可以根据需要自定义格式。非常轻量级的日期格式化包(只有2KB):

dayjs('2021-04-24T05:48:50.650397026Z').format('DD.MM.YYYY, hh:mm:ss');
//24.04.2021, 05:48:50