Xuất các phần của ngày dưới dạng chữ trong JavaScript
Bạn đã biết cách xuất thứ trong tuần dưới dạng
số bằng phương thức getDay. Tuy nhiên,
thông thường chúng ta không cần số thứ tự của thứ mà cần
tên gọi dạng văn bản của nó. Hãy viết mã
sẽ chuyển đổi các số được trả về bởi
phương thức getDay thành các
tên tương ứng của các ngày trong tuần.
Đầu tiên, hãy viết mã để xuất số thứ tự của ngày hiện tại trong tuần:
let date = new Date();
let day = date.getDay();
console.log(day);
Bây giờ hãy cải thiện mã này sao cho
màn hình hiển thị không phải là số thứ tự của ngày mà là
tên của nó (để ngắn gọn, Chủ nhật sẽ là
'CN', Thứ hai 'Thứ 2' và cứ tiếp tục như vậy).
Để giải quyết bài toán, hãy tạo một mảng các ngày trong tuần
days và bắt đầu nó với Chủ nhật (vì
đây là ngày thứ 0):
let days = ['CN', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
Làm thế nào để sử dụng mảng này để in ra màn hình,
ví dụ, 'Thứ 3'? Cần truyền vào
dấu ngoặc vuông số thứ tự của ngày đó (Thứ ba
có số thứ tự là 2):
let days = ['CN', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
console.log(days[2]); // sẽ xuất ra 'Thứ 3'
Tuy nhiên, chúng ta không muốn truyền ngày trong tuần
một cách thủ công, mà muốn JavaScript tự xác định
ngày hiện tại và in tên của nó. Để làm điều này
cần kết hợp những gì phương thức
getDay trả về và mảng days của chúng ta:
let date = new Date();
let day = date.getDay();
let days = ['CN', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'];
console.log(days[day]);
Cho mảng sau:
let 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'
];
Hãy sử dụng mảng này để xuất tên của tháng hiện tại.