JavaScript - Date và các hàm xử lý Date
by My Love
05/04/2019, 2:56 PM | 06/04/2019, 8:43 AM | 1.3K | 036
1. Đối tượng Date trong Javascript
Đối tượng
date là đối tượng chuyên xử lý thời gian trong Javascript và rất hay được xử dụng. Ta có thể khởi tạo bằng các cách sau :
// Thời gian hiện tại
new Date();
// Truyền tham số mili giây vào
new Date(milliseconds);
// Tham số truyền vào là chuỗi ngày, tháng, năm
new Date(dateString);
// Tham số đưa vào là năm, tháng, ngày, giờ, phút, giây, mili giây
new Date(year, month, day, hours, minutes, seconds, milliseconds);
Lưu ý là thời gian này được lấy trên máy client nên nó phụ thuộc vào thời gian trên tính người dùng
Ví dụ :
// Thời gian hiện tại
var date = new Date();
document.write(date + '<br/>');
// Truyền tham số mili giây vào
var dateMiliseconds = new Date(100000000000);
document.write(dateMiliseconds + '<br/>');
// Tham số truyền vào là chuỗi ngày, tháng, năm
var dateString = new Date("April 26, 2019 12:00:00");
document.write(dateString + '<br/>');
// Tham số đưa vào là năm, tháng, ngày, giờ, phút, giây, mili giây
var FullTime = new Date(2019,04,05,08,13,05,110);
document.write(FullTime + '<br/>');
2. Các hàm xử lý Date trong Javascript
Lưu ý là một số hàm ở get set ở dưới đây giá trị được tính từ 0, bạn cần chú ý để có được kết quả đúng.
Nhóm hàm Get Date
Name |
Mô tả |
getDate() |
Lấy số ngày trong tháng từ 1 - 31 |
getDay() |
Trả về ngày trong tuần từ 0 - 6 ( với chủ nhật là 0, thứ 2 là 1, thứ 3 là 2 ,...) |
getMonth() |
Lấy về tháng trong năm từ 0 -11 |
getFullYear() |
Lấy năm đầy đủ (YYYY) |
getHours() |
Lấy số giờ từ 0 - 23 |
getMinutes() |
Lấy số phút từ 0 - 59 |
getSeconds() |
Lấy số giây từ 0 - 59 |
getMilliSeconds() |
Lấy số mili giây từ 0 - 999 |
getTime() |
Lấy thời gian dạng mili giây |
Bạn cũng có thể lấy thời gian theo chuẩn giờ UTC bằng các hàm sau :
Xem DEMO
Name |
Mô tả |
getUTCDate() |
Lấy số ngày trong tháng từ 1 - 31 |
getUTCDay() |
Trả về ngày trong tuần từ 0 - 6 ( với chủ nhật là 0, thứ 2 là 1, thứ 3 là 2 ,...) |
getUTCMonth() |
Lấy về tháng trong năm từ 0 -11 |
getUTCFullYear() |
Lấy năm đầy đủ (YYYY) |
getUTCHours() |
Lấy số giờ từ 0 - 23 |
getUTCMinutes() |
Lấy số phút từ 0 - 59 |
getUTCSeconds() |
Lấy số giây từ 0 - 59 |
getUTCMilliSeconds() |
Lấy số mili giây từ 0 - 999 |
Ví dụ :
// Lấy thời gian hiện tại
var time = new Date();
value += 'Năm: ' + time.getFullYear() + '<br />';
value += 'Tháng trong năm: ' + time.getMonth() + '<br />';
var value = 'Ngày trong tháng: ' + time.getDate() + '<br />';
value += 'Ngày trong tuần: ' + time.getDay() + '<br />';
value += 'Giờ: ' + time.getHours() + '<br />';
value += 'Phút: ' + time.getMinutes() + '<br />';
value += 'Giây: ' + time.getSeconds() + '<br />';
value += 'Mili Giây: ' + time.getMilliseconds() + '<br />';
value += 'get time: ' + time.getTime() + '<br />';
// in ra kết quả
document.write(value);
Nhóm hàm Set Date
Name |
Mô tả |
setDate() |
Thiết lập ngày trong tháng từ 1 - 31 |
setMonth() |
Thiết lập tháng trong năm từ 0 -11 |
setFullYear() |
Thiết lập năm đầy đủ (YYYY) |
setHours() |
Thiết lập giờ từ 0 - 23 |
setMinutes() |
Thiết lập phút từ 0 - 59 |
setSeconds() |
Thiết lập giây từ 0 - 59 |
setMilliSeconds() |
Thiết lập mili giây từ 0 - 999 |
setTime() |
Thiết lập thời gian dạng mili giây |
Ví dụ :
// lấy thời gian hiện tại
var time = new Date();
// thiết lập lại thời gian
time.setDate(07);
time.setMonth(04);
time.setFullYear(2019);
time.setHours(12);
time.setMinutes(09);
time.setSeconds(26);
time.setMilliseconds(110);
Một số hàm khác
Name |
Mô tả |
toString() |
Chiển đổi thời gian về dạng chuỗi |
toUTCString() |
Chuyển đổi thời gian về chuỗi dựa vào giờ quốc tế UTC |
toLocaleString() |
Chuyển đổi đối tượng thời gian thành chuỗi theo thời gian địa phương |
toTimeString() |
Chuyển đổi đối tượng thời gian thành một chuỗi thời gian |
toDateString() |
Chuyển đổi phần thời gian ngày, tháng, năm ( không bao gồm giờ, phút, giây) của đối tượng thời gian thành một chuỗi |
toLocaleDateString() |
Chuyển đổi phần thời gian ngày, tháng, năm ( không bao gồm giờ, phút, giây) của đối tượng thời gian thành một chuỗi theo thời gian tại địa phương. |
toLocaleTimeString() |
Chuyển đổi phần thời gian ( bao gồm giờ, phút, giây) của một đối tượng thời gian thành một chuỗi. |
toISOString() |
Chuyển đổi đối tượng thời gian về một chuỗi theo chuẩn ISO ( (YYYY-MM-DDTHH:mm:ss.sssZ ) |
toJSON() |
Chuyển đổi đối tượng thời gian về một chuỗi dạng JSON |
valueOf() |
Trả về số mili giây tính từ thời điểm 00:00:00 1/1/1970 cho đến thời gian của đối tượng |
parse(timeString) |
Trả về số mili giây tính từ thời điểm 00:00:00 1/1/1970 đến thời điểm được mô tả trong chuỗi thời gian timeString người dùng truyền vào. |
now() |
Trả về số mili giây tính từ thời điểm 00:00:00 1/1/1970 giờ UTC đến thời điểm hiện tại. |
UTC() |
Trả về số mili giây tính từ 00:00:00 1/1/1970 đến thời điểm truyền vào dựa theo giờ quốc tế( UTC). |
Ví dụ :
// lấy thời gian hiện tại
var time = new Date();
var value = 'toString(): ' + time.toString() + '<br />';
value += 'toUTCString(): ' + time.toUTCString() + '<br />';
value += 'toLocaleString(): ' + time.toLocaleString() + '<br />';
value += 'toTimeString(): ' + time.toTimeString() + '<br />';
value += 'toDateString(): ' + time.toDateString() + '<br />';
value += 'toLocaleDateString(): ' + time.toLocaleDateString() + '<br />';
value += 'toLocaleTimeString(): ' + time.toLocaleTimeString() + '<br />';
value += 'toISOString(): ' + time.toISOString() + '<br />';
value += 'toJSON(): ' + time.toJSON() + '<br />';
value += 'valueOf(): ' + time.valueOf() + '<br />';
value += 'parse(): ' + Date.parse('04 Dec 2018 00:17:00 GMT') + '<br/>';
value += 'parse(): ' + Date.parse(time.toString()) + '<br />';
value += 'now(): ' + Date.now() + '<br />';
value += 'UTC(): ' + Date.UTC(2019, 4, 3, 15, 2, 17) + '<br />';
document.write(value);
Ngoài ra bạn có thể tham khảo thêm
ở đây