Đối tượng Date trong Javascript

Đối tượng Date trong Javascript

Trong bài này chúng ta sẽ tìm hiểu đến đối tượng Date trong Javascript, đây là đối tượng chuyên dùng để xử lý ngày giờ trên Client và đương nhiên tính ứng dụng của nó thì khỏi bàn. Bài này chúng ta chỉ đề cập một số kiến thức căn bản, còn các hàm xử lý nâng cao hơn thì chúng ta sẽ tìm hiểu ở bài tiếp theo.

1. Đối tượng Date trong Javascript

Tất cả các vấn đề liên quan đến thời gian đều nằm trong đối tượng Date, vì vậy để khởi tạo một đối tượng thời gian thì bạn dùng cú pháp sau:

var timeObj = new Date();

Đây là cách thông thường và khi bạn dùng cách này nó sẽ lấy thời gian hiện tại trên máy của bạn (client), điều này có nghĩa mỗi Client sẽ có thời gian khác nhau phụ thuộc vào máy tính của họ.

Ví dụ: XEM DEMO

var dateObj = new Date();

document.write(dateObj);

Và sau đây là bốn cách khởi tạo thông thường nhất.

// Thời gian hiện tại

new Date();



// Tham số truyền vào là mili giây

new Date(milliseconds);



// Tham số truyền vào là chuỗi ngày tháng

new Date(dateString);



// Tham số truyền vào gồm

//  - year:         năm

//  - month:        tháng

//  - day:          ngày

//  - hours:        giờ

//  - minutes:      phút

//  - seconds:      giây

//  - milliseconds: mini giây

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

Khi bạn truyền tham số vào thì đối tượng đó sẽ tự nhận diện và chuyển đổi về đúng định dạng ngày tháng nên bạn hoàn toàn yên tâm mà sử dụng.

Ví dụ: Khởi tạo một đối tượng với giá trị là ngày 20/11/2013

XEM DEMO

var dateObj = new Date(2013, 11, 20);

Cái khó ở phần này là định dạng format của ngày tháng khi in ra ngoài trình duyệt rất khó đọc, điều này cũng bình thường bởi vì nó có quy tắc format riêng.

2. Định dạng (format) Date trong Javascript

Có ba định dạng chính đó là:

Định dạng ISO

Định dạng chuẩn của ISO 8601 là (YYYY-MM-DD) hoặc (YYYY-MM) hoặc (YYYY).

Có một lưu ý nếu bạn truyền vào không đủ (ngày – tháng – năm – giờ – phút – giây) thì mặc định các tham số khác sẽ lấy thời gian nhỏ nhất.

Vi dụ: XEM DEMO

var ISO_1 = new Date("2014-11-20");

var ISO_2 = new Date("2014-11");

var ISO_3 = new Date("2014");

Định dạng Long

Định dạng Long tức là bạn truyền vào với tên của tháng là ba chữ cái đầu tiên ghi bằng tiếng Anh, lúc này bạn có thể đặt vị trí của nó thế nào cũng được vì đối tượng Date tự nhận diện và chuyển đổi.

Ví dụ: XEM DEMO

var LONG_1 = new Date("Mar 25 2015");

var LONG_2 = new Date("2015 Mar 25");

var LONG_3 = new Date("25 2015 Mar");

Chạy lên các bạn thấy cả ba ví dụ đều có kết quả như nhau.

Định dạng Short

Định dạng Short được lưu trữ dưới dạng MM/DD/YYYY hoặc YYYY/MM/DD hoặc MM-DD-YYYY hoặc YYYY-MM-DD/

Ví dụ: XEM DEMO

var SHORT_1 = new Date("03-25-2015");

var SHORT_2 = new Date("03/25/2015");

var SHORT_3 = new Date("2015/03/25");

var SHORT_4 = new Date("2015-03-25");

Định dạng đầy đủ

Trên là những định dạng ghi tắt, nếu truyền đầy đủ thì bạn phải truyền đẩy đủ (ngày – tháng – năm – giờ – phút – giây – timezone):

var d = new Date("Wed Mar 25 2015 09:56:24 GMT+0100 (W. Europe Standard Time)");

3. Lời kết

Vậy để khởi tạo một đối tương thời gian thì ta dùng từ khóa new Date(), đồng thời chúng ta có bốn cách truyền tham số lúc khởi tạo. Tương ứng với mỗi cách truyền thì đối tượng Date() sẽ tự nhận diện và chuyển đổi sang đúng định dạng của nó.

Bài này mình xin dừng ở đây, bài tiếp theo chúng ta sẽ tìm hiểu các hàm xử lý ngày tháng trong Javascript và mình tin rằng bài đó sẽ cực kì hấp dẫn đấy.