Hi mn, hiện tại mình đang làm 1 project nodejs nhỏ, mình muốn console.log ra thông báo chào buổi sáng khi đến 6h sáng nhưng mình không biết thế nào. mong ace giúp đỡ
Làm thế nào để console.log() ra 1 thông báo theo giờ
bạn có biết setInterval hay setTimeout không?
tìm hiểu thử xem
không còn cách nào ạ
tất nhiên là còn, thậm chí là rất nhiều cách
vấn đề ở chỗ, để chọn cách phù hợp, thì cần có những yêu cầu cụ thể
còn câu hỏi của bạn, chỉ đơn giản là 6h sáng ra cái câu chào thì setinterval hay settimeout đều đáp ứng được, có vấn đề gì đâu
Để console.log() ra thông báo chào buổi sáng khi đến 6 giờ sáng trong Node.js, bạn có thể sử dụng mô-đun setInterval()
để kiểm tra thời gian định kỳ. Dưới đây là một ví dụ cụ thể về cách làm điều đó:
javascriptCopy code
function printMorningGreeting() {
// Lấy thời gian hiện tại
const currentTime = new Date();
// Kiểm tra xem hiện tại là 6 giờ sáng hay không
if (currentTime.getHours() === 6 && currentTime.getMinutes() === 0) {
console.log("Chào buổi sáng!");
}
}
// Đặt một interval để kiểm tra và in thông báo vào mỗi phút
setInterval(printMorningGreeting, 60000); // 60000 milliseconds = 1 phút
Giải thích:
-
printMorningGreeting()
: Hàm này kiểm tra thời gian hiện tại và nếu đúng là 6 giờ sáng (00:00), nó sẽ in ra thông báo “Chào buổi sáng!”. -
setInterval(printMorningGreeting, 60000)
: Đoạn mã này đặt một interval (định kỳ) để gọi hàmprintMorningGreeting
vào mỗi phút (60000 milliseconds). Điều này sẽ cho phép chúng ta kiểm tra thời gian một cách định kỳ và in ra thông báo nếu đúng giờ.
Khi bạn chạy mã trên, nó sẽ kiểm tra thời gian mỗi phút và nếu đến 6 giờ sáng, nó sẽ in ra thông báo “Chào buổi sáng!”.
Dùng node-cron - npm (npmjs.com)
var cron = require('node-cron');
/* '0 0 6-9/1 * * *': At 0 minutes past the hour, every 1 hours, between 06:00 AM and 09:59 AM */
var task = cron.schedule('0 0 6-9/1 * * *', () => {
console.log('Chào buổi sáng');
});
cron expression: Cron expression generator by Cronhub