2.1 Date 物件
處理日期和數字是開發網頁應用程式的重要部分。JavaScript 提供內建物件和方法來操作日期和數字。在這節課,我們會看看 Date
物件,它的方法和格式化日期和數字的方法。
JavaScript 中的 Date
物件表達日期和時間。它有許多方法來處理日期,包括獲取當前日期和時間、設置日期和時間以及格式化。
創建 Date 物件
重要!
如果你創建一個沒有參數的
Date()
物件,它將會包含當前的日期和時間—它被創建的那一刻的。
創建 Date
物件有多種方式。
1. 當前日期和時間:
JavaScript
const now = new Date();
console.log(now); // 顯示當前日期和時間
2. 設定特定的日期和時間:
JavaScript
const specificDate = new Date('2024-07-07T10:00:00');
console.log(specificDate); // 顯示2024年7月7日
3. 使用數字值設定日期和時間:
JavaScript
const anotherDate = new Date(2024, 6, 7, 10, 0, 0);
console.log(anotherDate); // 顯示2024年7月7日
2.2 Date() 物件的方法
獲取日期的組件:
getFullYear()
: 獲取年(四位數字)getMonth()
: 獲取月(從0到11)getDate()
: 獲取月份中的日(從1到31)getHours()
: 獲取小時(從0到23)getMinutes()
: 獲取分鐘(從0到59)getSeconds()
: 獲取秒(從0到59)
例子:
JavaScript
const now = new Date();
console.log(now.getFullYear()); // 當前年份
console.log(now.getMonth()); // 當前月份 (-1)
console.log(now.getDate()); // 當前的日
console.log(now.getHours()); // 當前小時
console.log(now.getMinutes()); // 當前分鐘
console.log(now.getSeconds()); // 當前秒
設置日期的組件:
setFullYear(year)
: 設置年setMonth(month)
: 設置月setDate(day)
: 設置月份中的日setHours(hours)
: 設置小時setMinutes(minutes)
: 設置分鐘setSeconds(seconds)
: 設置秒
例子:
JavaScript
const date = new Date();
date.setFullYear(2025);
date.setMonth(0); // 一月
date.setDate(15);
date.setHours(12);
date.setMinutes(30);
date.setSeconds(45);
console.log(date.toString());
2.3 日期的格式化
JavaScript 提供方法將日期格式化成字符串。最流行的方法是 toLocaleDateString()
根據地區格式化日期。
使用 toLocaleDateString() 的例子:
JavaScript
const now = new Date();
console.log(now.toLocaleDateString('en-US')); // "7/7/2024" (MM/DD/YYYY)
console.log(now.toLocaleDateString('en-GB')); // "07/07/2024" (DD/MM/YYYY)
console.log(now.toLocaleDateString('ru-RU')); // "07.07.2024" (DD.MM.YYYY)
方法 toLocaleTimeString()
方法 toLocaleTimeString()
返回格式化的本地時間作為字符串:
JavaScript
const now = new Date();
console.log(now.toLocaleTimeString('en-CA'));
console.log(now.toLocaleTimeString('en-GB'));
方法 toLocaleString()
方法 toLocaleString()
返回格式化的本地日期和時間作為字符串:
JavaScript
const now = new Date();
console.log(now.toLocaleString('en-CA'));
console.log(now.toLocaleString('en-GB'));
方法 toISOString()
方法 toISOString()
返回 ISO 8601 格式的日期和時間:
JavaScript
const now = new Date();
console.log(now.toISOString()); // "2023-07-05T10:00:00.000Z"
2.4 數字的格式化
方法 toLocaleString()
方法 toLocaleString()
允許根據本地設置格式化數字:
JavaScript
const number = 1234567.89;
console.log(number.toLocaleString()); // "1,234,567.89" 在美國格式或 "1 234 567,89" 在本地格式
console.log(number.toLocaleString('de-DE')); // "1.234.567,89" 在德國格式
使用 Intl.NumberFormat 格式化數字
構造函數 Intl.NumberFormat
提供更加靈活的數字格式化選項:
JavaScript
const number = 1234567.89;
const usFormatter = new Intl.NumberFormat('en-US');
console.log(usFormatter.format(number)); // "1,234,567.89"
const deFormatter = new Intl.NumberFormat('de-DE');
console.log(deFormatter.format(number)); // "1.234.567,89"
const customFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
});
console.log(customFormatter.format(number)); // "$1,234,567.89"
GO TO FULL VERSION