Cộng Trừ Ngày Tháng Trong JavaScript
Có thể bạn quan tâm
Hướng dẫn cách cộng trừ ngày tháng trong JavaScript. Bạn sẽ học được cách sử dụng các toán tử số học và các hàm getDate(), getMonth() để cộng trừ ngày tháng trong JavaScript sau bài học này.
Logic cộng trừ ngày tháng trong JavaScript
Ví dụ chúng ta có một date instance chứa thông tin ngày tháng như sau:
| let d = new Date('2021-10-08');console.log(d.toUTCString());// Fri, 08 Oct 2021 00:00:00 GMT |
Chúng ta có thể thấy trong một date instance biểu diễn thời gian như trên được tạo bởi các đơn vị về thời gian như ngày(08), tháng(Oct), năm(2021), hay giờ phút giây v.v..
Lại nữa, thời gian ở trên cũng có thể chuyển thành mili giây, giống như sau đây:
| let d = new Date('2021-10-08');console.log(d.getTime());// 1633651200000 |
Từ 2 cách biểu thị thông tin thời gian như trên, chúng ta có thể thấy rõ, sẽ có 2 phương pháp để có thể tiến hành cộng trừ ngày tháng trong JavaScript, đó chính là thay đổi mili giây đại diện cho thời gian, hoặc thay đổi từng đơn vị thời gian tạo nên thời gian đó.
Ví dụ, đối với phương pháp thay đổi mili giây đại diện cho thời gian, để trừ 2 ngày trong JavaScript so với thời gian ban đầu, do 2 ngày có tất cả 2day x 24h x 3600s x 1000ms = 172800000 mili giây nên chúng ta chỉ cần trừ số mili giây này từ số mili giây ban đầu như sau:
| let d = new Date('2021-10-08');console.log(d.toUTCString());/*Chuyển date sang mili giây*/let milis = d.getTime();/*Trừ 172800000 mili giây (tương đương với trừ 2 ngày) từ thời gian ban đầu*/let new_milis= milis - 172800000;/*Và chuyển lại mili giây về date thông qua hàm new Date*/let d2 = new Date(new_milis);console.log(d2.toUTCString()); |
Và kết quả, 2 ngày sẽ bị trừ đi từ ngày ban đầu như sau:
| Fri, 08 Oct 2021 00:00:00 GMTWed, 06 Oct 2021 00:00:00 GMT |
Tuy nhiên thì với cách cộng trừ ngày tháng trong JavaScript này thì chúng ta bắt buộc phải tính toán kỹ lưỡng về mili giây cần phải cộng trừ vào mili giây đại diện của thời gian ban đầu. Do đó, thay vì cách tính toán thế này thì chúng ta nên sử dụng tới phương pháp cộng trừ ngày tháng trong JavaScript thông qua việc thay đổi từng đơn vị thời gian như thay đổi ngày, thay đổi tháng, thay đổi năm v.v.. mà Kiyoshi sẽ hướng dẫn sau đây.
Cộng ngày trong JavaScript
Để cộng ngày trong JavaScript, chúng ta thực thi tuần tự các xử lý sau đây:
- Sử dụng phương thức getDate() để lấy số ngày trong date instance ban đầu
- Tiến hành phép cộng để thay đổi số ngày vừa lấy tới giá trị mong muốn,
- Sửa số ngày trong date instance ban đầu thành số ngày thu được ở trên bằng phương thức setDate()
Ví dụ, chúng ta có thể cộng ngày trong JavaScript như sau:
| let d = new Date('2021-10-08');console.log(d.toUTCString());//Lấy số ngày từ thời gian chỉ địnhlet day = d.getDate();//Cộng số ngày mong muốn, ví dụ chúng ta cộng thêm 2 ngàylet new_day = day + 2;//Sửa số ngày trong date instance ban đầu thành new_dayd.setDate(new_day);console.log(d.toUTCString()); |
Và kết quả:
| Fri, 08 Oct 2021 00:00:00 GMTSun, 10 Oct 2021 00:00:00 GMT |
Thực tế trong chương trình Javascript, chúng ta sẽ viết gọn lại tất cả các xử lý ở trên thành một dòng như sau:
| let d = new Date('2021-10-08');// Cộng 2 ngày trong JavaScriptd.setDate(d.getDate() + 2);console.log(d.toUTCString());//Sun, 10 Oct 2021 00:00:00 GMT |
Trừ ngày trong JavaScript
Để trừ ngày trong JavaScript, chúng ta cũng thực hiện tương tự các xử lý khi cộng ngày trong JavaScript ở trên.
- Sử dụng phương thức getDate() để lấy số ngày trong date instance ban đầu
- Tiến hành phép cộng để thay đổi số ngày vừa lấy tới giá trị mong muốn,
- Sửa số ngày trong date instance ban đầu thành số ngày thu được ở trên bằng phương thức setDate()
Ví dụ, chúng ta có thể trừ 2 ngày trong JavaScript như sau:
| let d = new Date('2021-10-08');console.log(d.toUTCString());//Lấy số ngày từ thời gian chỉ địnhlet day = d.getDate();//Trừ số ngày mong muốn, ví dụ chúng ta trừ đi 2 ngày let new_day = day - 2;//Sửa số ngày trong date instance ban đầu thành new_dayd.setDate(new_day);console.log(d.toUTCString()); |
Và kết quả:
| Fri, 08 Oct 2021 00:00:00 GMTWed, 06 Oct 2021 00:00:00 GMT |
Thực tế trong chương trình Javascript, chúng ta sẽ viết gọn lại tất cả các xử lý ở trên thành một dòng như sau:
| let d = new Date('2021-10-08');// Trừ 2 ngày trong JavaScriptd.setDate(d.getDate() - 2);console.log(d.toUTCString());//Sun, 10 Oct 2021 00:00:00 GMT |
Cộng tháng trong JavaScript
Để cộng tháng trong JavaScript, chúng ta cũng làm hoàn toàn tương tự như với cộng ngày trong JavaScript. Điểm khác biệt duy nhất ở đây là chúng ta sử dụng hàm getMonth() và hàm setMonth() sử dụng để xử lý tháng trong JavaScript như sau:
- Sử dụng phương thức getMonth() để lấy số tháng trong date instance ban đầu
- Tiến hành phép cộng để thay đổi số tháng vừa lấy tới giá trị mong muốn,
- Sửa số tháng trong date instance ban đầu thành số tháng thu được ở trên bằng phương thức setMonth()
Ví dụ, chúng ta có thể cộng tháng trong JavaScript như sau:
| let d = new Date('2021-10-08');console.log(d.toUTCString());//Lấy số tháng từ thời gian chỉ địnhlet month = d.getMonth();//Cộng số tháng mong muốn, ví dụ chúng ta cộng thêm 2 thánglet new_month = month + 2;//Sửa số tháng trong date instance ban đầu thành new_monthd.setMonth(new_month);console.log(d.toUTCString()); |
Và kết quả, 2 tháng sẽ được cộng thêm vào thời gian ban đầu như sau:
| Fri, 08 Oct 2021 00:00:00 GMTWed, 08 Dec 2021 00:00:00 GMT |
Thực tế trong chương trình Javascript, chúng ta sẽ viết gọn lại tất cả các xử lý ở trên thành một dòng như sau:
| let d = new Date('2021-10-08');// Cộng thêm 2 tháng trong JavaScriptd.getMonth(d.getMonth() + 2);console.log(d.toUTCString());//Fri, 08 Oct 2021 00:00:00 GMT |
Trừ tháng trong JavaScript
Để trừ tháng trong JavaScript, chúng ta cũng thực hiện tương tự các xử lý khi cộng tháng trong JavaScript ở trên.
- Sử dụng phương thức getMonth() để lấy số tháng trong date instance ban đầu
- Tiến hành phép trừ để thay đổi số tháng vừa lấy tới giá trị mong muốn,
- Sửa số tháng trong date instance ban đầu thành số tháng thu được ở trên bằng phương thức setMonth()
Ví dụ, chúng ta có thể trừ tháng trong JavaScript như sau:
| let d = new Date('2021-10-08');console.log(d.toUTCString());//Lấy số tháng từ thời gian chỉ địnhlet month = d.getMonth();//Trừ số tháng mong muốn, ví dụ chúng ta trừ đi 2 thánglet new_month = month - 2;//Sửa số tháng trong date instance ban đầu thành new_monthd.setMonth(new_month);console.log(d.toUTCString()); |
Và kết quả, 2 tháng sẽ được trừ đi từ thời gian ban đầu như sau:
| Fri, 08 Oct 2021 00:00:00 GMTSun, 08 Aug 2021 00:00:00 GMT |
Thực tế trong chương trình Javascript, chúng ta sẽ viết gọn lại tất cả các xử lý ở trên thành một dòng như sau:
| let d = new Date('2021-10-08');// Trừ 2 tháng trong JavaScriptd.getMonth(d.getMonth() - 2);console.log(d.toUTCString());//Fri, 08 Oct 2021 00:00:00 GMT |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách cộng trừ ngày tháng trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/date-object-trong-javascript/cong-tru-ngay-thang-trong-javascript/
Từ khóa » Javascript Cộng
-
Tính Tổng Hai Số Bằng Javascript (cộng Hai Số Với Nhau)
-
Các Toán Tử Trong JavaScript
-
JavaScript Cộng Trừ Số Với Chuỗi Như Thế Nào ??? - Viblo
-
Tính Tổng Hai Số Bằng Javascript (cộng Hai Số) - MyLop
-
Giải Bài Toán Cộng 2 Số Bằng Javascript | TopDev
-
Tạo Máy Tính Căn Bản Cộng Trừ Nhân Chia Bằng Javascript - GokiSoft
-
Nối Chuỗi Trong Javascript | Tự Học Javascript Cơ Bản
-
Các Phép Toán Trong JavaScript - Web Cơ Bản
-
JsLand (Cộng đồng Javascript Lớn Nhất Việt Nam) | Facebook
-
Tính Tổng Các Phần Tử Trong Mảng JavaScript
-
Tính Tổng Hai Số Bằng Javascript (cộng Hai Số Với Nhau)
-
Các Phép Toán Trong JavaScript - ge
-
JavaScript Là Gì? Cách Viết JavaScript Cơ Bản - Vietnix
-
JavaScript Cộng Với Dấu Hiệu Phía Trước Tên Hàm? - HelpEx