JS中的Date對象怎么用?如何格式化日期?

JavaScriptdate對象的使用方法包括:1. 創建方式有四種,分別是不帶參數獲取當前時間、傳入時間字符串、年月日參數及時間戳;2. 獲取日期信息的方法包括getfullyear()、getmonth()+1等;3. 格式化需手動組合各部分并注意padstart的使用;4. 常見問題涉及兼容性、時間設置、格式化擴展等內容。

JS中的Date對象怎么用?如何格式化日期?

在JavaScript中,Date對象是處理日期和時間的核心工具。很多人用的時候總覺得有點繞,其實只要掌握了基本用法和格式化方式,日常開發就完全夠用了。

創建Date對象

創建一個Date實例是最基礎的操作。你可以不帶參數調用,表示當前時間;也可以傳入特定的時間字符串或時間戳。

  • new Date():獲取當前系統時間
  • new Date(‘2024-01-01’):根據字符串創建日期
  • new Date(2024, 0, 1):傳入年、月(從0開始)、日等參數
  • new Date(1704067200000):通過時間戳創建

注意月份是從0開始的,也就是說0代表1月,11才是12月。

獲取日期信息

有了Date對象后,通常會用下面這些方法來獲取具體的時間部分:

  • .getFullYear():返回四位數的年份
  • .getMonth():返回月份,記得要加1才是真實月份
  • .getDate():返回幾號
  • .getHours()、.getMinutes()、.getSeconds():分別獲取時、分、秒

比如你想拿到今天的年月日,可以這樣寫:

const now = new Date(); const year = now.getFullYear(); const month = now.getMonth() + 1; const day = now.getDate();

格式化日期的基本方法

所謂“格式化”,就是把日期變成像2024-01-01或者2024年1月1日 12:00這樣的字符串。原生的Date對象沒有直接提供格式化方法,但可以通過組合上面提到的方法來實現。

例如,格式化為yyYY-MM-DD的形式:

function formatDate(date) {   const year = date.getFullYear();   const month = String(date.getMonth() + 1).padStart(2, '0');   const day = String(date.getDate()).padStart(2, '0');   return `${year}-${month}-${day}`; }

這里有個小細節:.padStart(2, ‘0’)是為了保證月份和日期始終是兩位數,比如1月顯示成01而不是1。

常見問題與注意事項

有些地方容易踩坑,列幾個常見的:

  • 時間字符串解析存在兼容性問題,不同瀏覽器可能對new Date(‘2024-01-01’)的解析結果有差異
  • 如果只想要日期部分,忽略時間,可以在構造后設置時間為0點
  • 想要更靈活的格式化,比如星期幾、中文格式,就需要自己封裝函數或引入第三方庫(如date-fns、moment.JS

如果你只是做簡單的展示,手動拼接就能搞定;如果涉及復雜操作、國際化、相對時間等場景,建議使用成熟的時間處理庫。

基本上就這些,不復雜但容易忽略細節。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享