Date Object

Linh Nguyễn

Hàm Tạo Dựng Date

Các đối tượng Date trong JavaScript được sử dụng để giúp lập trình viên làm việc hiệu quả với ngày giờ. Các đối tượng Date được tạo ra nhờ sử dụng hàm tạo dựng (hay constructor function) Date.

Chúng ta sử dụng cú pháp tạo object thông thường của JavaScript để tạo đối tượng mới từ Date object:

var myDateObject = new Date();

Lưu ý: Date là một hàm tạo dựng của JavaScript:

typeof Date // Hiển thị: "function"
console.log(Date) // Hiển thị: ƒ Date() { [native code] }

Tạo Mới Đối Tượng Date Object

JavaScript cung cấp bốn cách khác nhau để tạo một đối tượng Date dựa trên hàm tạo dựng Date:

new Date()
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(milliseconds)

Chúng ta sẽ tìm hiểu chi tiết từng cách trên ở phần ngay tiếp sau đây.

Sử Dụng Cú Pháp new Date()

Khi một Date object dựa trên cú pháp mặc định mà không truyền vào đối số nào thì JavaScript sẽ sử dụng ngày giờ hiện tại:

var myDateObject = new Date();
typeof myDateObject; // Hiển thị: "object"
console.log(myDateObject); // hiển thị ngày giờ hiện tại, ví dụ: Sun Mar 18 2018 14:03:27 GMT+0700 (+07)

Ở kết quả tuỳ thuộc vào múi giờ được thiết lập trên máy tính bạn (hoặc trình duyệt) mà JavaScript sẽ hiển thị múi giờ tương ứng. Máy tính sử dụng để chạy ví dụ trên thì múi giờ đang được thiết lập là GMT+07.

Sử Dụng Cú Pháp new Date(dateString)

Cú pháp new Date(dateString) được sử dụng để tạo mới một Date object với ngày giờ cụ thể. Chúng ta sẽ truyền vào 1 đối số dateString với giá trị là ngày giờ theo dạng chuỗi JavaScript khi tạo object.

Ví dụ:

var myDateObject = new Date("January 01, 2018 06:00:00");
typeof myDateObject; // Hiển thị: "object"
console.log(myDateObject); // Hiển thị: Mon Jan 01 2018 06:00:00 GMT+0700 (+07)

Bạn có thể sử dụng chuỗi với các định dạng ngày giờ khác nhau để sử dụng cho giá trị của đối số:

var myDateObject = new Date("Jan 01, 2018 06:00:00");
typeof myDateObject; // Hiển thị: "object"
console.log(myDateObject); // Hiển thị: Mon Jan 01 2018 06:00:00 GMT+0700 (+07)

Hoặc:

var myDateObject = new Date("01 January 2018 06:00:00");
typeof myDateObject; // Hiển thị: "object"
console.log(myDateObject); // Hiển thị: Mon Jan 01 2018 06:00:00 GMT+0700 (+07)

Ngoài ra, chúng ta cũng có thể chỉ sử dụng chuỗi với ngày, tháng và năm:

var myDateObject = new Date("01 January 2018");
typeof myDateObject; // Hiển thị: "object"
console.log(myDateObject); // Hiển thị: Mon Jan 01 2018 00:00:00 GMT+0700 (+07)

Lúc này JavaScript sẽ chọn giờ, phút và giây mặc định là 00:00:00.

Sử Dụng Cú Pháp new Date(year, month, day, hours, minutes, seconds, milliseconds)

Cú pháp new Date(year, month, day, hours, minutes, seconds, milliseconds) được sử dụng để tạo một đối tượng Date object với giá trị cụ thể của năm, tháng, ngày, giờ, giây và phần nghìn của giây.

Ví dụ:

var myDateObject = new Date(1980, 01, 01, 06, 00, 00, 0);
typeof myDateObject; // Hiển thị: "object"
console.log(myDateObject); // Fri Feb 01 1980 06:00:00 GMT+0700 (+07)

Lưu ý: JavaScript tính tháng bắt đầu từ số 0, do đó tháng Một (January) sẽ là 00, tháng Hai (February) sẽ là 01...

Với cú pháp trên chúng ta có thể bỏ 4 đối số cuối và chỉ sử dụng năm, tháng và ngày:

var myDate = new Date(1980, 01, 01);
typeof myDateObject; // Hiển thị: "object"
console.log(myDate); // Fri Feb 01 1980 00:00:00 GMT+0700 (+07)

Lúc này giờ, phút và giây sẽ được chọn với giá trị là 00:00:00.

Sử Dụng Cú Pháp new Date(milliseconds)

Với cú pháp này chúng ta sẽ truyền vào 1 đối số với giá trị sử dụng là số phần nghìn giây tính từ Unix Timestamp. Unix Timestamp là mốc thời gian được chọn làm cột mốc thời gian cho máy tính hiện đại. Mốc thời gian này được đặt chọn là ngày 01, tháng Một năm 1970, 00 giờ, 00 phút, 00 giây.

var myDate = new Date(0);
typeof myDateObject; // Hiển thị: "object"
console.log(myDate); // Sat Jan 01 2000 00:00:00 GMT+0700 (+07)

Tạo Date object với thời gian là 1 giây sau mốc Unix Timestamp:

var myDate = new Date(1000);
typeof myDateObject; // Hiển thị: "object"
console.log(myDate); // Sat Jan 01 2000 00:00:00 GMT+0700 (+07)

Lưu ý: 1 giây = 1000 phần nghìn giây.

Thêm Phản Hồi