Javascript 以编程方式获取两个日期对象之间 30 分钟间隔的时间
Javascript programmatic way to get time in 30 min interval between two date objects
抱歉,如果问题措辞不当,我正在寻找这样的东西;假设你有两个日期(但你真正关心的是日期对象的时间部分,而不是日期),上午 8 点和下午 5 点,我希望能够在这两个日期之间每 30 分钟打印一次时间(即 8:00AM、8:30、上午 9:00AM、9:30AM...4:30PM、下午 5 点)。感谢回复。
您可以将开始日期和结束日期存储在 Date
object 中,然后使用 while
循环不断向 start
添加 30 分钟,而 start
日期小于 end
日期。
const start = new Date();
start.setHours(8, 0, 0); //8 AM
const end = new Date();
end.setHours(17, 0, 0); //5 PM
while (start <= end) {
console.log(start.toLocaleString('en-US', {hour: '2-digit', minute: '2-digit'}));
start.setMinutes(start.getMinutes() + 30);
}
如果您想在一定时间范围内每 30 分钟执行某种操作或 运行 一项功能(例如注销时间),您可以使用所谓的 cron
格式与一个模块相结合,该模块可以按预定义的时间表摄取 cron 值和 运行 函数。
我建议使用 node-cron
模块。
要在上午 8 点到下午 5 点之间每 30 分钟执行一次任务 运行,在这种情况下会打印出当前时间,您可以使用 cron
格式创建时间表。
上午 8 点到下午 5 点之间每 30 分钟的 cron
格式看起来像 */30 08-17 * * *
。
const cron = require('node-cron');
cron.schedule('*/30 08-17 * * *', () => {
console.log(new Date().toLocaleTimeString());
});
抱歉,如果问题措辞不当,我正在寻找这样的东西;假设你有两个日期(但你真正关心的是日期对象的时间部分,而不是日期),上午 8 点和下午 5 点,我希望能够在这两个日期之间每 30 分钟打印一次时间(即 8:00AM、8:30、上午 9:00AM、9:30AM...4:30PM、下午 5 点)。感谢回复。
您可以将开始日期和结束日期存储在 Date
object 中,然后使用 while
循环不断向 start
添加 30 分钟,而 start
日期小于 end
日期。
const start = new Date();
start.setHours(8, 0, 0); //8 AM
const end = new Date();
end.setHours(17, 0, 0); //5 PM
while (start <= end) {
console.log(start.toLocaleString('en-US', {hour: '2-digit', minute: '2-digit'}));
start.setMinutes(start.getMinutes() + 30);
}
如果您想在一定时间范围内每 30 分钟执行某种操作或 运行 一项功能(例如注销时间),您可以使用所谓的 cron
格式与一个模块相结合,该模块可以按预定义的时间表摄取 cron 值和 运行 函数。
我建议使用 node-cron
模块。
要在上午 8 点到下午 5 点之间每 30 分钟执行一次任务 运行,在这种情况下会打印出当前时间,您可以使用 cron
格式创建时间表。
上午 8 点到下午 5 点之间每 30 分钟的 cron
格式看起来像 */30 08-17 * * *
。
const cron = require('node-cron');
cron.schedule('*/30 08-17 * * *', () => {
console.log(new Date().toLocaleTimeString());
});