JavaScript sử dụng kiểu dữ liệu Date
để biểu diễn ngày và thời gian. Kiểu dữ liệu này cho phép bạn lưu trữ và thao tác với các thông tin như năm, tháng, ngày, giờ, phút, giây và mili giây.
Tạo đối tượng Date
Có hai cách để tạo đối tượng Date trong JavaScript:
- Sử dụng từ khóa
new
và hàm khởi tạoDate()
:
const today = new Date();
- Sử dụng hàm khởi tạo
Date()
với tham số là chuỗi biểu diễn ngày và thời gian:
const christmas = new Date("2023-12-25");
Lấy thông tin từ đối tượng Date
Đối tượng Date cung cấp nhiều phương thức để lấy các thông tin về ngày và thời gian, bao gồm:
getFullYear()
: Lấy năm (4 chữ số)getMonth()
: Lấy tháng (0-11)getDate()
: Lấy ngày (1-31)getDay()
: Lấy ngày trong tuần (0-6)getHours()
: Lấy giờ (0-23)getMinutes()
: Lấy phút (0-59)getSeconds()
: Lấy giây (0-59)getMilliseconds()
: Lấy mili giây (0-999)getTime()
: Lấy số mili giây kể từ 01/01/1970 00:00:00 UTC
Các phương thức khác
setDate(day)
: Thiết lập ngàysetMonth(month)
: Thiết lập thángsetFullYear(year)
: Thiết lập nămsetHours(hours)
: Thiết lập giờsetMinutes(minutes)
: Thiết lập phútsetSeconds(seconds)
: Thiết lập giâysetMilliseconds(milliseconds)
: Thiết lập mili giâytoString()
: Chuyển đổi đối tượng Date thành chuỗitoLocaleDateString()
: Chuyển đổi đối tượng Date thành chuỗi theo định dạng ngày tháng của địa phươngtoLocaleTimeString()
: Chuyển đổi đối tượng Date thành chuỗi theo định dạng thời gian của địa phương
UTC vs. Local Time
JavaScript cung cấp các phương thức tương tự với tiền tố UTC
để lấy thông tin về ngày và thời gian theo UTC (Coordinated Universal Time). UTC là múi giờ chuẩn quốc tế, luôn cố định và không bị ảnh hưởng bởi thời gian tiết kiệm ánh sáng.
Ví dụ
const today = new Date();
console.log("Năm:", today.getFullYear());
console.log("Tháng:", today.getMonth() + 1); // Cộng 1 vì getMonth() trả về 0-11
console.log("Ngày:", today.getDate());
const christmas = new Date("2023-12-25");
console.log(christmas.toString());
console.log(christmas.toLocaleDateString());
const diff = today.getTimezoneOffset(); // Lấy chênh lệch giữa giờ địa phương và UTC
console.log("Chênh lệch giờ:", diff/60, "giờ");
const christmasUtc = new Date(christmas.getTime() + diff*60*1000); // Chuyển đổi Christmas sang UTC
console.log(christmasUtc.toString());
Kết luận
Kiểu dữ liệu Date trong JavaScript cung cấp một cách mạnh mẽ để làm việc với ngày và thời gian. Bằng cách hiểu các phương thức khác nhau của đối tượng Date, bạn có thể thực hiện các tác vụ như lấy thông tin về ngày và thời gian, chuyển đổi giữa UTC và giờ địa phương, và định dạng ngày và thời gian theo những cách khác nhau.