【问题标题】:How to convert month year (YYYYmm) string to Datetime in Javascript?如何在Javascript中将月份年份(YYYYmm)字符串转换为日期时间?
【发布时间】:2022-09-23 08:35:29
【问题描述】:

我有一个年份和月份字符串\"202008\",我需要将其转换为日期时间,如2020-08-01 00:00:00。使用 Javascript 或 Momentjs 的最佳方法是什么?

  • 它总是成为每月的第一天吗?你也把YYYYmm放在标题中,但示例字符串是mmYYYY

标签: javascript node.js date momentjs datetime-format


【解决方案1】:

您可以使用second argumentmoment 中指定输入格式。 moment(input, format)

moment('082020', 'MY').format('YYYY-MM-DD HH:mm:ss');
// 2020-08-01 00:00:00

【讨论】:

  • 如果您要使用 3rd 方库,date-fns 也值得考虑(很多人更喜欢它而不是 moment,因为它的尺寸较小)
【解决方案2】:

使用纯 JS

function toDate(str) {
  return str.replace(/(\d\d)(\d{4})/, "$2-$1-01 00:00:00");
}
console.log(toDate("082020"));

【讨论】:

  • 在我看来,str.replace(/(\d\d)(\d{4})/, "$2-$1-01 00:00:00") 在没有第二次解析和格式化的情况下完成了这项工作。
  • 是的,我知道,我让自己感到困惑@RobG - 我最初的代码返回了一个Date 对象,然后重新阅读问题并意识到OP想要作为字符串......所以,我没有倒退,而是前进:p
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
  • 2021-12-01
  • 2021-07-04
  • 2023-04-09
  • 1970-01-01
  • 2011-08-17
相关资源
最近更新 更多