在JavaScript 中格式化日期:實作yyyy-mm-dd 格式
在JavaScript 中格式化日期可能是一個挑戰,尤其是在嘗試實現特定的格式。例如,如果您有一個格式為“2014 年 5 月 11 日星期日”的日期,並希望將其轉換為“2014-05-11”,該怎麼做?
一種方法,如中所示提供的程式碼涉及將日期拆分為其組成部分。但是,此方法無法將日期轉換為所需的格式。為了解決這個問題,我們可以利用更有效的方法,即 JavaScript 的內建 toISOString 方法。
toISOString 方法將日期物件轉換為 ISO 8601 格式的字串表示形式,剛好是「yyyy-」毫米-ddThh:毫米:ss.sssZ。 」要只提取日期部分,我們可以使用字母「T」作為分隔符號分割字串並取第一部分:
let yourDate = new Date(); yourDate.toISOString().split('T')[0];
此方法將傳回「yyyy-mm-dd」中的日期" 格式,滿足原來的要求。
解決時區差
就是要注意的是,toISOString 方法不考慮時區差。為了解決這個問題,需要根據使用者當地時間和日期物件時區之間的偏移進行修正。
const offset = yourDate.getTimezoneOffset(); yourDate = new Date(yourDate.getTime() - (offset * 60 * 1000)); return yourDate.toISOString().split('T')[0];
透過此修正,返回的日期將在「yyyy- mm-dd」格式,根據使用者本地時區進行調整。
以上是如何在 JavaScript 中將日期格式設定為 yyyy-mm-dd?的詳細內容。更多資訊請關注PHP中文網其他相關文章!