首页 > 解决方案 > 如何在javascript中将日期时间“2020-12-14 16:07:09”转换为“9 Jan 2020”?

问题描述

如标题所述,我想在javascript中将 DateTime "2020-12-14 16:07:09" 转换为 "9 Jan 2020 "?有什么简单的方法吗?任何帮助表示赞赏。提前致谢。

标签: javascriptdatedatetime

解决方案


在我之前的一项工作中,我也想要这种类型,所以我创建了它。我不知道如何转换,但我可以告诉你如何创建。

假设我们想要一个 2019 年 1 月 23 日的日期,

为 2019 年 1 月 23 日创建 23 和 2019 很简单。我们可以使用 getFullYear 和 getDate 来获取它们。

    const d = new Date(2019, 0, 23)
const year = d.getFullYear() // 2019
const date = d.getDate() // 23

它更难得到和一月。

要获得一月,​​您需要创建一个对象,将所有十二个月的值映射到它们各自的名称。

由于 Month 是零索引的,我们可以使用数组而不是对象。它产生相同的结果。

  const months = [
  'January',
  'February',
  'March',
  'April',
  'May',
  'June',
  'July',
  'August',
  'September',
  'October',
  'November',
  'December'
]

要获得一月,​​您需要:

使用 getMonth 从日期获取零索引月份。从月份中获取月份名称

    const monthIndex = d.getMonth()
const monthName = months[monthIndex]
console.log(monthName) // January

然后,您将创建的所有变量组合起来以获取格式化字符串。

    const formatted = `${date} ${monthName} ${year}`
console.log(formatted) // 23 January 2019

而已!

如果您想要 jan、feb 等...您可以根据需要更改数组中的值。


推荐阅读