Bài viết đăng tại: https://laptrinhcanban.com
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'); |
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'); |
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'); |
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 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'); |
Và kết quả:
Fri, 08 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ừ 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'); |
Và kết quả:
Fri, 08 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 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'); |
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 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ừ 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'); |
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 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'); |
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
HOME › học javascript - lập trình javascript cơ bản>>12. date object trong javascript