2.1 Đối tượng Date
Làm việc với ngày và số là phần quan trọng trong phát triển ứng dụng web. JavaScript cung cấp các đối tượng và phương thức tích hợp
để thao tác với ngày và số. Trong bài giảng này, tụi mình sẽ xem xét đối tượng Date
, các phương thức của nó và các cách định dạng ngày và số.
Đối tượng Date
trong JavaScript đại diện cho ngày và giờ. Nó có nhiều phương thức để làm việc với ngày,
bao gồm việc lấy ngày và giờ hiện tại, đặt ngày và giờ, cũng như định dạng.
Tạo đối tượng Date
Date()
mà không có tham số, nó sẽ chứa ngày và giờ hiện tại — thời điểm tạo dựng.
Có thể tạo đối tượng Date
bằng vài cách khác nhau.
1. Ngày và giờ hiện tại:
const now = new Date();
console.log(now); // Hiển thị ngày và giờ hiện tại
2. Đặt một ngày và giờ cụ thể:
const specificDate = new Date('2024-07-07T10:00:00');
console.log(specificDate); // Hiển thị ngày 7 tháng 7 năm 2024
3. Đặt ngày và giờ bằng giá trị số:
const anotherDate = new Date(2024, 6, 7, 10, 0, 0);
console.log(anotherDate); // Hiển thị ngày 7 tháng 7 năm 2024
2.2 Các phương thức của đối tượng Date()
Lấy các thành phần của ngày:
getFullYear()
: lấy năm (bốn chữ số)getMonth()
: lấy tháng (từ 0 đến 11)getDate()
: lấy ngày trong tháng (từ 1 đến 31)getHours()
: lấy giờ (từ 0 đến 23)getMinutes()
: lấy phút (từ 0 đến 59)getSeconds()
: lấy giây (từ 0 đến 59)
Ví dụ:
const now = new Date();
console.log(now.getFullYear()); // Năm hiện tại
console.log(now.getMonth()); // Tháng hiện tại (-1)
console.log(now.getDate()); // Ngày hiện tại
console.log(now.getHours()); // Giờ hiện tại
console.log(now.getMinutes()); // Phút hiện tại
console.log(now.getSeconds()); // Giây hiện tại
Đặt các thành phần ngày:
setFullYear(year)
: đặt nămsetMonth(month)
: đặt thángsetDate(day)
: đặt ngày trong thángsetHours(hours)
: đặt giờsetMinutes(minutes)
: đặt phútsetSeconds(seconds)
: đặt giây
Ví dụ:
const date = new Date();
date.setFullYear(2025);
date.setMonth(0); // Tháng Một
date.setDate(15);
date.setHours(12);
date.setMinutes(30);
date.setSeconds(45);
console.log(date.toString());
2.3 Định dạng ngày
JavaScript cung cấp các phương thức để định dạng ngày thành chuỗi. Phương thức phổ biến nhất là toLocaleDateString()
để định dạng ngày tùy theo địa phương.
Ví dụ sử dụng toLocaleDateString():
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)
Phương thức toLocaleTimeString()
Phương thức toLocaleTimeString()
trả về thời gian dưới dạng chuỗi ở định dạng địa phương:
const now = new Date();
console.log(now.toLocaleTimeString('en-CA'));
console.log(now.toLocaleTimeString('en-GB'));
Phương thức toLocaleString()
Phương thức toLocaleString()
trả về ngày và giờ dưới dạng chuỗi ở định dạng địa phương:
const now = new Date();
console.log(now.toLocaleString('en-CA'));
console.log(now.toLocaleString('en-GB'));
Phương thức toISOString()
Phương thức toISOString()
trả về ngày và giờ theo định dạng ISO 8601:
const now = new Date();
console.log(now.toISOString()); // "2023-07-05T10:00:00.000Z"
2.4 Định dạng số
Phương thức toLocaleString()
Phương thức toLocaleString()
cho phép định dạng số theo cài đặt địa phương:
const number = 1234567.89;
console.log(number.toLocaleString()); // "1,234,567.89" theo định dạng Mỹ hoặc "1 234 567,89" theo định dạng địa phương
console.log(number.toLocaleString('de-DE')); // "1.234.567,89" theo định dạng Đức
Định dạng số với Intl.NumberFormat
Constructor Intl.NumberFormat
cung cấp cho bạn khả năng linh hoạt hơn để định dạng số:
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