将字符串日期格式'MMM-DD-YYYY'转换为Date类型的date-fns

3

如何使用 date-fns 将以下字符串转换为日期?

Jul-30-2021(格式为 MMM-DD-YYYY)。

使用 momentjs,可以使用以下代码进行转换:

moment('Jul-30-2021', 'MMM-DD-YYYY')

2
输入和期望输出是什么? - Rajendran Nadar
输入:Jul-30-2021 输出:具有日期Jul-30-2021和00:00:00时间或当前时间的日期对象 - Stefano Borzì
尝试运行new Date('Jul-30-2021').toISOString(),然后你可以使用Date-fns中的格式化函数将其转换为任何格式。 - Rajendran Nadar
2个回答

5

这样做:

const setDateMDY = dteSTR => 
  {
  let [m,d,y] = dteSTR.split('-')
  return new Date(`${m} ${d}, ${y} 00:00:00`)
  }

let  date1 = setDateMDY('Jul-30-2021')

console.log( date1.toLocaleString() )


5

<script type="module">
  import { format } from 'https://esm.run/date-fns'

  const date = new Date('Jul-30-2021');

  console.log(date);

  console.log(format(date, 'MMM-dd-yyyy, mm:HH:ss'));
</script>

现在您可以将date-fns应用于format(date, 'MMM-dd-yyyy')

刚才我添加了一个带有日期 fns 的示例。日期应该是 MMM,而 mmm 是时间。 - Rajendran Nadar
1
是的,你在我评论之前10秒就已经评论了xD。哇,我喜欢你的解决方案,谢谢! - Stefano Borzì
new Date('Jul-30-2021') 在 Firefox 上不起作用 :(,我可能会使用另一种解决方案。 - Stefano Borzì
根据这个链接,它应该可以工作:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date - Rajendran Nadar
我已经下载了Firefox并尝试运行 new Date('Aug-30-2021'),但无法正常工作。 - Stefano Borzì
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接