Categories JavaScript

Định dạng ngày tháng trong JavaScript

Nhập ngày tháng trong JavaScript

Thông thường có 4 loại định dạng ngày tháng đầu vào của JavaScript:

Kiểu/Dạng Ví dụ
ISO Date “2015-03-25” (Tiêu chuẩn quốc tế: năm – tháng – ngày). Dạng số
Short Date “03/25/2015” hoặc “2015/03/25” (tháng/ngày/năm hoặc năm/tháng/ngày). Dạng số
Long Date “Mar 25 2015” hoặc “25 Mar 2015” (tháng ngày năm hoặc ngày tháng năm). Tháng là dạng chữ
Full Date “Wednesday March 25 2015” (Thứ tháng ngày năm). Thứ và tháng là dạng chữ

Xuất ngày tháng JavaScript

Độc lập với định dạng đầu vào, JavaScript sẽ (theo mặc định) xuất ngày tháng dưới dạng chuỗi văn bản đầy đủ:

Wed Mar 25 2015 07:00:00 GMT+0700 (ICT)

Định dạng ngày tháng ISO trong JavaScript

ISO 8601 là tiêu chuẩn quốc tế để diễn tả ngày tháng và thời gian.

Cú pháp của ISO 8601 (YYYY-MM-DD) cũng khớp hoàn hảo với định dạng ngày tháng của JavaScript:

Ví dụ (dạng ngày tháng đầy đủ)

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

Các tính toán ngày tháng sẽ liên quan đến múi giờ của bạn.

Phụ thuộc vào múi giờ của bạn, kết quả trên có thể biến thiên giữa 24 tháng ba và 25 tháng ba.

Nó có thể được viết mà không cần chỉ định ngày (YYYY-MM):

Ví dụ (Năm và tháng)

var d = new Date("2015-03");

Múi giờ có thể ảnh hưởng đến kết quả. Kết quả sẽ biến thiên nếu thời gian trong khoảng từ 28 tháng hai đến mùng 1 tháng ba.

Nó có thể được viết dưới dạng không có tháng lẫn ngày (YYYY):

Ví dụ (chỉ năm)

var d = new Date("2015");

Múi giờ có thể ảnh hưởng tới kết quả trên. Kết quả sẽ biến thiên nếu thời gian trong khoảng từ 31 tháng mười hai 2014 đến mùng 1 tháng một năm 2015.

Nó có thể được viết có thêm thông tin giờ, phút, và giây (YYYY-MM-DDTHH:MM:SS)

Ví dụ (Dạng đầy đủ bổ sung giờ, phút và giây)

var d = new Date("2015-03-25T12:00:00");

Chữ T trong chuỗi ngày tháng, nằm giữa ngày tháng và thời gian, là chỉ thời gian UTC.

UTC (Universal Time Coordinated) cũng giống với GMT (Greenwich Mean Time).


JavaScript Short Dates.

Short dates hầu như được viết với cú pháp “MM/DD/YYYY” giống như thế này:

Ví dụ

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

JavaScript cũng chấp nhận “YYYY/MM/DD”:

Ví dụ

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

Tháng được viết trước ngày trong tất cả các dạng short date và định dạng ngày ISO.

Bắt đầu với số 0 CẢNH BÁO !

Trong hầu hết các trình duyệt, ngày tháng ISO với tháng hoặc ngày không có số 0 ở đầu (các tháng nhỏ hơn 10) sẽ được hiểu là short dates:

Ví dụ

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

JavaScript Long Dates.

Long dates thường được viết với cú pháp “MMM DD YYYY” giống như thế này:

Ví dụ

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

Tháng và ngày có thể thay đổi vị trí:

Ví dụ

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

Và tháng có viết dưới dạng đầy đủ (January) hoặc rút gọn (Jan):

Ví dụ

var d = new Date("January 25 2015");

Ví dụ

var d = new Date("Jan 25 2015");

Dấu phẩy được bỏ quả, và nó không nhạy cảm với cách viết HOA hoặc thường:

Ví dụ

var d = new Date("JANUARY, 25, 2015");

Định dạng ngày tháng đầy đủ

JavaScript chấp nhận chuỗi ngày tháng trong “định dạng JavaScript đầy đủ”:

Ví dụ

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

JavaScript sẽ bỏ qua lỗi trong cả tên ngày và trong ngoặc thời gian:

Ví dụ

var d = new Date("Fri Mar 25 2015 09:56:24 GMT+0100 (Tokyo Time)");

Múi giờ

JavaScript chấp nhận các múi giờ sau:

Time Zone Mô tả
UTC Coordinated Universal Time
GMT Greenwich Mean Time
EDT (Mỹ) Eastern Daylight Time
CDT (Mỹ) Central Daylight Time
MDT (Mỹ) Mountain Daylight Time
PDT (Mỹ) Pacific Daylight Time
EST (Mỹ) Eastern Standard Time
CST (Mỹ) Central Standard Time
MST (Mỹ) Mountain Standard Time
PST (Mỹ) Pacific Standard Time

Khi thiết lập ngày tháng, nếu không chỉ định múi giờ, JavaScript sẽ sử dụng múi giờ của trình duyệt.

Khi lấy ngày tháng, nếu không chỉ định múi giờ, kết quả sẽ chuyển đổi sang múi giờ của trình duyệt.

Nói cách khác: Nếu ngày/thời gian được tạo trong GMT (Greenwich Mean Time), ngày/thời gian sẽ được chuyển đổi sang CDT (Central US Daylight Time) nếu người dùng trình duyệt đến từ trung tâm Mỹ.

Back to Top