Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Phương thức Date.getMonth() trong JavaScript

Phương thức getMonth() trả về tháng (0-11) của đối tượng Date theo thời gian địa phương. Lưu ý: Tháng là 0-based (0 = Tháng 1, 11 = Tháng 12) - đây là nguồn gốc của nhiều bug.

Cú pháp

dateObj.getMonth()
  • Trả về: Số nguyên 0-11
  • Không nhận tham số

Ví dụ cơ bản

const date = new Date('1989-09-26T12:04:25');
console.log(date.getMonth()); // 8 (Tháng 9)

Thiếu tháng

const date = new Date('1989 12:04:25'); // Không có tháng
console.log(date.getMonth()); // 0 (Tháng 1 - mặc định)

Ngày hiện tại

const now = new Date();
console.log(now.getMonth()); // Tháng hiện tại (0-11)

Hiển thị tên tháng

const months = [
  'Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6',
  'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'
];

const date = new Date();
console.log(months[date.getMonth()]); // "Tháng 10" (ví dụ)

Ứng dụng

  • Hiển thị tháng cho người dùng (cần +1)
  • Lọc/báo cáo theo tháng
  • Tạo date cho ngày đầu/cuối tháng

Lưu ý quan trọng

  • Tháng 0-based - luôn nhớ +1 khi hiển thị cho người dùng
  • Constructor new Date(year, month, ...) cũng dùng 0-based
  • ISO string date.toISOString() dùng 1-based (tháng 1-12)
  • Trả về NaN nếu Date invalid
  • Có phiên bản UTC: getUTCMonth()