Duyệt mảng lịch học, parse chuỗi giờ (VD: "5 PM - 11 PM"), so sánh với giờ hiện tại getHours().
Ví dụ
const schedule = [
{ subjectName: 'JavaScript', studyTime: '5 PM - 11 PM' },
{ subjectName: 'MySQL', studyTime: '12 AM - 4 PM' }
];
function getCurrentSubject(schedule) {
const now = new Date().getHours(); // 0-23
let subject = '';
schedule.forEach(item => {
const parts = item.studyTime.split(' ');
// parts: ['5', 'PM', '-', '11', 'PM']
const startHour = parseInt(parts[0]) + (parts[1] === 'PM' && parts[0] !== '12' ? 12 : 0);
const endHour = parseInt(parts[3]) + (parts[4] === 'PM' && parts[3] !== '12' ? 12 : 0);
if (now >= startHour && now < endHour) {
subject = item.subjectName;
}
});
return subject || 'Nghỉ ngơi';
}
console.log("Môn học hiện tại: " + getCurrentSubject(schedule));
Cách chạy
node demo.js
Kết quả (ví dụ lúc 15h)
Môn học hiện tại: JavaScript
Lưu ý: Code xử lý giờ 12h format (AM/PM). Cần xử lý edge case: 12 AM = 0h, 12 PM = 12h.