【问题标题】:How to format an existing date from an Object in JS如何从 JS 中的对象格式化现有日期
【发布时间】:2021-10-02 07:54:38
【问题描述】:

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

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

当前日期存储在firstDate。请只使用香草 JS,感谢任何帮助

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

【问题讨论】:

  • 你可以这样做:let date = new Date("2021-04-24T05:48:50.650397026Z") 然后你可以通过date.getDay()date.getMonth() 来度过这一天。将它与“。”结合起来。你有你想要的格式的日期

标签: javascript time format


【解决方案1】:

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

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

【讨论】:

  • 问题是我已经有了日期,你的功能给了我当前的日期,不是吗?我尝试在我的代码中实现它,但收到错误“date.getMonth 不是函数”
  • 您可以将new Date(yourStringDate)中的字符串格式日期传递给上述函数。
【解决方案2】:

你可以使用.toLocaleString方法。

firstDate.toLocaleString();

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      相关资源
      最近更新 更多