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.2K   |    0

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