簡體   English   中英

無效的本機時刻格式日期反應

[英]React native moment formatted date in invalid

我的 RN 應用程序中有以下代碼。

  getFormattedDate = (date) => {
    const formattedDate = moment(new Date(date)).format('MMMM, DD YYYY');
    return { date: formattedDate };
  }

當我在模擬器上運行它時,格式化的日期顯示正確。 但是當我在設備上運行它時,它說,無效日期。 我在這里做錯了什么?

根據您的評論,我假設date參數是一個字符串。 如果要從字符串創建新時刻,則必須傳遞日期格式。 然后可以使用.format格式化新創建的時刻以再次獲取字符串。

改變:

const formattedDate = moment(new Date(date)).format('MMMM, DD YYYY');

到:

const formattedDate = moment(date,"MMM, DD YYYY").format("MMMM, DD YYYY");

在這里您可以找到有關字符串格式的更多詳細信息。

npm install date-fns --save

從'date-fns'導入{格式}

格式(新日期(),'MMMM,DD YYYY')

檢查這個文件

Moment 比 new Date 慢 150 倍。 如果您想使用此代碼工作,請像這樣嘗試。

 getFormattedDate = async (date) => {
    const formattedDate = await moment(new Date(date)).format('MMMM,DD YYYY');
    return { date: formattedDate };
  }

你可以在這里閱讀更多細節https://github.com/moment/moment/issues/731

由於性能,我建議避免使用時刻。 使用 new Date () 然后獲取日、月和年,並通過根據需要加入字符串來更改為合適的格式。 僅使用日期庫。

暫無
暫無

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

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