簡體   English   中英

如何使用 date-fns 格式化日期?

[英]How to format date with date-fns?

我一直在嘗試使用date-fns格式化日期,但我一直失敗。 基本上我讓它在 momentJS 上工作得很好,但在 date-fns 上卻沒有:

這是我的約會:

"10-13-20" // month, day, and year

現在使用 momentJS,它可以像這樣正常工作:

let result = moment("10-13-20", 'MM-DD-YY').format()
// result = "2020-10-13T00:00:00-06:00"

所以我試圖使用date-fns做同樣的事情,但沒有運氣。 任何人都可以指出我正確的方向嗎? 提前致謝!

let result = format(new Date("10-13-20"), 'MM-DD-YY') // Not working

如您所見,使用moment lib,我們需要 2 個步驟才能得到結果:將字符串解析為Date對象,然后將 date 對象格式化為字符串。

您的代碼 - format(new Date("10-13-20"), 'MM-DD-YY')format步驟,嘗試將日期對象轉換為格式模板為MM-DD-YY的字符串。 但是您的日期對象不正確。

解決方案是用moment lib 做同樣的事情:

  1. 將日期字符串解析為日期對象。 使用解析

    const dateString = '10-13-20'; const date = parse(dateString, 'MM-dd-yy', new Date()) // not MM-DD-YY
  2. 將日期對象格式化為結果字符串。 使用格式

    const result = format(date, "yyyy-MM-dd'T'HH:mm:ss.SSSxxx") console.log(result)

    結果將類似於(與我的時區中的時刻結果相同):

     2020-10-13T00:00:00.000+09:00
const date = "2021-12-20"
console.log(format(date, "DD-MM-YYYY"));
// output: 20-12-2021

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM