Các phương thức thiết lập ngày tháng trong JavaScript
Javascript căn bản | by
Trong lập trình web, việc làm việc với ngày tháng là một yêu cầu phổ biến, đặc biệt trong các ứng dụng đặt lịch, hiển thị thời gian, hoặc xử lý dữ liệu thời gian thực. JavaScript cung cấp nhiều phương thức để thiết lập ngày, tháng, năm, giờ, phút, giây trong đối tượng Date
, giúp lập trình viên dễ dàng cập nhật và điều chỉnh thời gian theo nhu cầu. Hiểu rõ cách sử dụng các phương thức này không chỉ giúp cải thiện hiệu suất làm việc mà còn đảm bảo độ chính xác khi xử lý dữ liệu thời gian trong các ứng dụng thực tế.
Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết các phương thức thiết lập ngày tháng trong JavaScript cùng các ví dụ minh họa cụ thể.
Giới thiệu về các phương thức thiết lập ngày tháng trong JavaScript
Trong JavaScript, đối tượng Date
không chỉ giúp lấy thông tin về ngày tháng mà còn cho phép lập trình viên thiết lập và cập nhật ngày, tháng, năm, giờ, phút, giây theo nhu cầu. Các phương thức thiết lập này giúp thay đổi giá trị của đối tượng Date
mà không cần tạo mới một đối tượng khác.
Tại sao cần thiết lập ngày tháng?
Việc thiết lập ngày tháng là rất quan trọng trong nhiều tình huống thực tế, chẳng hạn như:
Cập nhật ngày tháng trong ứng dụng web
- Hiển thị thời gian hiện tại theo múi giờ của người dùng.
- Cập nhật thời gian khi người dùng chọn một ngày từ lịch.
- Chỉnh sửa thông tin thời gian trong các biểu mẫu nhập liệu.
Xử lý thời gian cho các tác vụ như đặt lịch, tính toán thời gian, đếm ngược
- Thiết lập ngày tháng cho một sự kiện trong tương lai (ví dụ: đặt lịch hẹn, lịch họp).
- Thay đổi thời gian để tính toán khoảng cách giữa hai mốc thời gian.
- Xây dựng bộ đếm thời gian (countdown timer).
Điều chỉnh múi giờ hoặc đồng bộ thời gian
- Thiết lập thời gian theo múi giờ UTC hoặc múi giờ của người dùng.
- Chỉnh sửa thời gian để đồng bộ dữ liệu giữa nhiều hệ thống.
Nhờ các phương thức thiết lập ngày tháng, lập trình viên có thể linh hoạt thay đổi giá trị thời gian trong ứng dụng mà không cần phải tạo mới đối tượng Date
, giúp tối ưu hiệu suất và tăng tính linh hoạt trong xử lý dữ liệu thời gian.
II. Các phương thức thiết lập ngày tháng cơ bản
JavaScript cung cấp các phương thức giúp thay đổi từng thành phần của ngày tháng, bao gồm năm, tháng, ngày. Khi thiết lập giá trị, nếu vượt quá phạm vi hợp lệ, JavaScript sẽ tự động điều chỉnh giá trị cho phù hợp.
1. Thiết lập năm
Cú pháp:
date.setFullYear(year); date.setFullYear(year, month, date);
Giải thích:
setFullYear(year)
: Cập nhật năm của đối tượngDate
, giữ nguyên tháng và ngày.setFullYear(year, month, date)
: Cập nhật cả năm, tháng, và ngày cùng lúc.- Nếu tháng hoặc ngày không hợp lệ, JavaScript sẽ tự động điều chỉnh.
Ví dụ:
let date = new Date(); console.log("Trước khi cập nhật:", date); date.setFullYear(2025); console.log("Sau khi thiết lập năm:", date); date.setFullYear(2026, 11, 25); // Thiết lập năm 2026, tháng 12, ngày 25 console.log("Sau khi thiết lập năm, tháng, ngày:", date);
2. Thiết lập tháng
Cú pháp:
date.setMonth(month);
Giải thích:
setMonth(month)
: Thay đổi tháng của đối tượngDate
.- Giá trị tháng bắt đầu từ 0 (Tháng 1) đến 11 (Tháng 12).
- Nếu ngày hiện tại không hợp lệ với tháng mới, JavaScript sẽ tự động điều chỉnh sang tháng tiếp theo.
Ví dụ:
let date = new Date(2024, 0, 31); // Ngày 31/01/2024 console.log("Trước khi cập nhật tháng:", date); date.setMonth(1); // Chuyển sang tháng 2 (Không có ngày 31, sẽ tự động điều chỉnh) console.log("Sau khi cập nhật tháng:", date);
-
Kết quả: Do tháng 2 chỉ có 28 hoặc 29 ngày, JavaScript sẽ tự động điều chỉnh ngày thành 29 (hoặc 28 nếu không phải năm nhuận).
3. Thiết lập ngày
Cú pháp:
date.setDate(day);
Giải thích:
setDate(day)
: Cập nhật ngày trong tháng.- Nếu đặt số ngày vượt quá số ngày hợp lệ của tháng hiện tại, JavaScript sẽ tự động chuyển sang tháng tiếp theo.
Ví dụ:
let date = new Date(2024, 1, 20); // Ngày 20/02/2024 console.log("Trước khi cập nhật ngày:", date); date.setDate(30); // Tháng 2 chỉ có 29 ngày (năm nhuận), nên sẽ chuyển sang tháng 3 console.log("Sau khi cập nhật ngày:", date);
Kết quả: Do tháng 2 chỉ có 29 ngày (vì năm 2024 là năm nhuận), ngày 30 sẽ được tính vào ngày 1 của tháng 3.
Các phương thức thiết lập giờ, phút, giây trong JavaScript
JavaScript cung cấp các phương thức để cập nhật giá trị giờ, phút, giây và mili-giây trong đối tượng Date
. Khi đặt giá trị vượt quá giới hạn hợp lệ, JavaScript sẽ tự động điều chỉnh thời gian.
Thiết lập giờ (setHours())
Cú pháp:
date.setHours(hour); date.setHours(hour, minute, second, millisecond);
Giải thích:
setHours(hour)
: Cập nhật giờ trong khoảng 0 - 23 (định dạng 24 giờ).setHours(hour, minute, second, millisecond)
: Thiết lập đồng thời giờ, phút, giây, mili-giây.- Nếu giá trị vượt quá giới hạn (ví dụ: giờ > 23), JavaScript sẽ tự động điều chỉnh sang ngày tiếp theo.
Ví dụ minh họa:
let date = new Date(); console.log("Trước khi cập nhật giờ:", date); date.setHours(20); // Thiết lập giờ thành 20 (8 giờ tối) console.log("Sau khi thiết lập giờ:", date); date.setHours(25); // Quá 23h, tự động chuyển sang ngày hôm sau console.log("Sau khi thiết lập giờ quá phạm vi:", date);
Thiết lập phút (setMinutes()
)
Cú pháp:
date.setMinutes(minute);