Kiểu dữ liệu Date được định nghĩa trong ECMA Script dựa trên phiên bản đầu tiên của java.util.Date trong Java. Như vậy, kiểu Date lưu trữ số giây được tính từ nửa đêm ngày 1-1-1970 theo giờ UTC.
Để tạo đối tượng kiểu Date, bạn sử dụng cú pháp:
Parameter:
var independenceDay = new Date(1776, 6, 4); // 4-7-1776
Khi khởi tạo đối tượng Date không tham số, thì đối tượng tạo ra được gán với ngày giờ hiện tại. Khi gán ngày giờ cụ thể, bạn phải truyền số giây đại diện cho ngày giờ đó.
Để tính toán số giây từ 1 ngày giờ cụ thể, bạn sử dụng 1 trong 2 hàm: Date.parse() và Date.UTC()
Trong trường hợp truyền ngày không hợp lệ, 1 số trình duyệt (như Firefox, Opera…) tự động sửa lại, 1 số khác (như Google Chrome) thì báo Invailid Date.
Ví dụ:
Lưu ý:
month: tháng được tính từ 0-11
hours: được tính từ 0-23 giờ
Trong Javascript, không có hàm hỗ trợ hiển thị ngày tháng theo format riêng của người dùng.
Ví dụ:
Để tạo đối tượng kiểu Date, bạn sử dụng cú pháp:
new Date() new Date(value) new Date(dateString)//sử dụng ngầm hàm Date.parse() new Date(year, month, day [, hour, minute, second, millisecond])//sử dụng ngầm hàm Date.UTC()
Parameter:
-
value
- Integer value representing the number of milliseconds since 1 January 1970 00:00:00 UTC (Unix Epoch).
-
dateString
- String value representing a date. The string should be in a format recognized by the parse method (IETF-compliant RFC 2822 timestamps).
-
year
- Integer value representing the year. For compatibility (in order to
avoid the Y2K problem), you should always specify the year in full; use
1998
, rather than98
.
-
month
- Integer value representing the month, beginning with 0 for January to 11 for December.
-
day
- Integer value representing the day of the month (1-31).
-
hour
- Integer value representing the hour of the day (0-23).
-
minute
- Integer value representing the minute segment (0-59) of a time reading.
-
second
- Integer value representing the second segment (0-59) of a time reading.
-
millisecond
- Integer value representing the millisecond segment (0-999) of a time reading.
var independenceDay = new Date(1776, 6, 4); // 4-7-1776
Khi khởi tạo đối tượng Date không tham số, thì đối tượng tạo ra được gán với ngày giờ hiện tại. Khi gán ngày giờ cụ thể, bạn phải truyền số giây đại diện cho ngày giờ đó.
Để tính toán số giây từ 1 ngày giờ cụ thể, bạn sử dụng 1 trong 2 hàm: Date.parse() và Date.UTC()
Hàm Date.parse()
Dưới đây là một số định dạng mà hàm Date.parse() hỗ trợ:- month/date/year (vd: 6/13/2004)
- month_name date, year (vd: January 12, 2004)
- day_of_week month_name date year hours:minutes:seconds time_zone (vd: Tue May 25 2004 00:00:00 GMT-0700)
- ISO 8601 extended format YYYY-MM-DDTHH:mm:ss.sssZ (vd: 2004-05-25T00:00:00). Chuẩn ISO 8601 chỉ hỗ trợ trong ECMAScript 5.
Trong trường hợp truyền ngày không hợp lệ, 1 số trình duyệt (như Firefox, Opera…) tự động sửa lại, 1 số khác (như Google Chrome) thì báo Invailid Date.
Ví dụ:
var someDate = new Date(Date.parse("July 11, 1995")); var wrongdDate = new Date(Date.parse("January 32, 2007"));Kết quả:
Date {Tue Jul 11 1995 00:00:00 GMT+0700 (SE Asia Standard Time)} Date {Thu Feb 01 2007 00:00:00 GMT+0700 (SE Asia Standard Time)}
Date.UTC()
Date.UTC(year, month, day[, hours[, minutes[, seconds[,ms]]]])Lưu ý:
month: tháng được tính từ 0-11
hours: được tính từ 0-23 giờ
//January 1, 2000 at midnight GMT var y2k = new Date(Date.UTC(2000, 0)); //May 5, 2005 at 5:55:55 PM GMT var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
Hiển thị
Javascript chỉ hỗ trợ một số hàm để hiển thị ngày tháng năm: toISOString(), toUTCString()...Trong Javascript, không có hàm hỗ trợ hiển thị ngày tháng theo format riêng của người dùng.
Ví dụ:
var today = new Date(); console.log(today.toISOString()); console.log(today.toUTCString()); console.log(today.toDateString()); console.log(today.toLocaleDateString()); console.log(today.toString());Kết quả:
2012-11-02T04:56:55.738Z Fri, 02 Nov 2012 04:56:55 GMT Fri Nov 02 2012 Friday, November 02, 2012 Fri Nov 02 2012 11:56:55 GMT+0700 (SE Asia Standard Time)
Nhật ký học tập
Nhận xét
Đăng nhận xét