簡體   English   中英

在瞬間創建一個具有區域設置的日期

[英]Create a date with a locale in moment

我正在嘗試生成EU日期,通常采用DD/MM/YYYY的格式。

// August 1st, 2018, EU format is DD/MM/YYYY
const myDate = moment('01/08/2018').locale('fr'); 
console.log(myDate.format('MM/DD/YYYY'));

嘗試將此代碼粘貼到momentjs.com控制台中,但它不起作用。

我預計08/01/2018 ,但是我得到的01/08/2018回來。 似乎它不遵守語言環境日期格式。

有人知道如何解決此問題嗎?

在MomentJS網站上,明確規定:

為了獲得一致的解析ISO 8601字符串以外的結果的結果,應使用String + Format

您需要傳遞格式,因為字符串不是ISO格式。

如果需要利用語言環境信息,請使用支持語言環境信息的腳本。 然后,您可以先使用moment.locale來設置語言環境,然后使用L格式說明符(用於短日期)來根據語言環境的規范來解析日期。

請參見下面的演示:

 moment.locale('fr'); const myDate = moment('01/08/2018', 'L'); console.log(myDate.format('MM/DD/YYYY')); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script> 

使用即時語言環境時,您要么需要將所需的每種語言文件導入頁面。 它們通常位於/locale/fr.js中。

如果您需要加載許多語言文件,則可以鏈接到moment-with-locales.js,該文件在大多數CDN或Moment網站的下載中與moment.js一起提供。

默認情況下,Moment附帶“ en”作為實際上是美國的語言

暫無
暫無

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

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