JavaScript 的 Date
類提供了處理日期和時間的標準方法。以下是其核心概念和使用方式:
創建日期對象
- 當前時間
javascript
const now = new Date(); // 創建當前日期時間的對象
- 指定時間
javascript
// 基本格式:new Date(年, 月, 日, 時, 分, 秒, 毫秒) const date = new Date(2009, 11, 9); // → 2009年12月9日 // 注意:月份從0開始計數(0~11)
時間戳操作
JavaScript 使用 1970 年 1 月 1 日 UTC 為基準的毫秒數來儲存時間:
javascript
// 獲取時間戳
const timestamp = new Date().getTime();
// 或使用
const currentTime = Date.now();
// 從時間戳創建日期
const dateFromTimestamp = new Date(timestamp);
日期解析示例
以下是一個從字串解析日期的實用函數:
javascript
function getDate(string) {
let [_, month, day, year] = /(\d{1,2})-(\d{1,2})-(\d{4})/.exec(string);
return new Date(year, month - 1, day);
}
console.log(getDate("1-30-2003")); // → 2003年1月30日
此處使用了正則表達式 exec
方法,可以參考:
【JavaScript 學習筆記 09】正則表達式 Chapter 9 Regular Expressions
注意事項
- 月份編號從 0 開始(0~11),這是一個常見的混淆點
- 日期編號從 1 開始
- 時、分、秒、毫秒參數是可選的,默認為 0
- 使用
getFullYear()
而不是過時的getYear()