如何在 JS 中格式化 Object 中的现有日期

How to format an existing date from an Object in JS

提问人:TraktorJack 提问时间:7/26/2021 最后编辑:TheParamTraktorJack 更新时间:7/28/2021 访问量:263

问:

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

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

当前日期存储在 中。请只提供香草JS,任何帮助都值得赞赏 <3firstDate

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
JavaScript 时间 格式

评论

0赞 Ma G. 7/26/2021
你可以做这样的事情:然后你可以用 or .将它与“.”组合在一起,您就有了所需格式的日期let date = new Date("2021-04-24T05:48:50.650397026Z")date.getDay()date.getMonth()

答:

0赞 justuff 7/26/2021 #1

您可以使用方法。.toLocaleString

firstDate.toLocaleString();

这里有一个更全面的答案 https://stackoverflow.com/a/42863295/1825010

1赞 TheParam 7/26/2021 #2

您可以编写一个简单的实用程序函数,如下所示,它将返回格式化的日期。

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()))

评论

0赞 TraktorJack 7/26/2021
问题是我已经有日期了,你给我的功能是当前日期,不是吗?我尝试在我的代码中实现它,但收到错误“date.getMonth is not a function”
0赞 TheParam 7/28/2021
您可以将字符串格式日期传递给上述函数。new Date(yourStringDate)
-2赞 Leon.Z 7/26/2021 #3

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

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