因此,如果我希望我的某项活动在特定的时间和某天做某事我该怎么办? 任何快速描述都会有所帮助。我仍然很新,任何帮助都非常感谢。
答案 0 :(得分:1)
如果您希望您的活动在某个间隙之间运行,您可以在java中使用Threads。 如果活动想要在某个时间运行,你可以在java中使用TimerTask类。
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class ReportGenerator extends TimerTask {
public void run() {
System.out.println("Generating report");
//TODO generate report
}
}
class MainApplication {
public static void main(String[] args) {
Timer timer new Timer();
Calendar date = Calendar.getInstance();
date.set(
Calendar.DAY_OF_WEEK,
Calendar.SUNDAY
);
date.set(Calendar.HOUR, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
// Schedule to run every Sunday in midnight
timer.schedule(
new ReportGenerator(),
date.getTime(),
1000 * 60 * 60 * 24 * 7
);
// Schedule to run every Monday in midnight
date.set(
Calendar.DAY_OF_WEEK,
Calendar.MONDAY
);
date.set(Calendar.HOUR, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
timer.schedule(
new ReportGenerator(),
date.getTime(),
1000 * 60 * 60 * 24 * 7
);
}
}
答案 1 :(得分:0)
这是一个 Python 程序,它可以在秒内准确地执行 my_func 函数中的任何操作。在本例中,它会在明天中午 12 点运行,但 target_date 可以更改为未来的任何日期。
from datetime import datetime
from threading import Timer
today = datetime.today()
target_date = today.replace(day=today.day + 1, hour=12, minute=0, second=0, microsecond=0)
delta_t = target_date - today
microSecs=delta_t.seconds * 1000000 + delta_t.microseconds
secs = microSecs / 1000000
def my_func():
print("hello world")
t = Timer(secs, my_func)
t.start()