java - 如何在 Java 中每天在设定的时间运行代码?
问题描述
目前正在研究某种算法,我需要每天在同一时间运行代码。我试过创建一个计时器,但我不太熟悉它,我能做的最多就是每 x 秒运行一次代码。我知道我可以每 86400 秒做一次,但这似乎充其量只是一个笨拙的解决方案,我觉得有更好的解决方案。如果您有任何想法,请告诉我。非常感激。
解决方案
假设您想yourTask()
在特定时间(例如 10:00)运行,您可以执行以下操作:
Calendar today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, 10);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
Timer timer = new Timer();
timer.schedule(yourTask(), today.getTime(), TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS));
推荐阅读
- ios - 如何使矩形的高度与 VStack 的高度相同
- azure - 在 Kusto 中搜索/替换
- css - Flexbox 100% 覆盖层在 100% div
- .net - IIS - 允许 Web 应用程序的 IP 范围
- c++ - 虚拟重载运算符 >> 和 <<
- matlab - MATLAB:调用 cuDNN 时出现意外错误:CUDNN_STATUS_EXECUTION_FAILED。而迁移学习
- ruby - 告诉预览关闭窗口后保留控制权
- node.js - 为什么使用节点模块 csv-parser 的 CSV (Macintosh) 和 CSV 解析的换行符不同?
- r - 如何测试回归中两个系数的相等性?
- android - Android 如何标准化电容设备上的估计压力