使用 Kotlin、Bukkit (Spigot) 和 Timer() (或任何有帮助的东西),我正在尝试创建一种可以每天在特定时间运行另一种方法的方法。
这是我到目前为止所做的,但不起作用。
fun schedule() {
val timer = Timer()
val format = SimpleDateFormat("hh:mm:ss")
val date = format.parse("11:07:09")
timer.schedule(sendMessage(), format, date)
}
fun sendMessage() {
System.out.println("Test");
}
不起作用,因为
timer.schedule()
需要 TimerTask
、Date
和 long
。
我感到困惑的是,如何转换格式和日期,然后将其添加到
timer.schedule()
,这样它每天都会运行?另外,我将如何尊重时区,并确保它至少在服务器时间附近运行?
val timer = Timer()
val task: TimerTask = object : TimerTask() {
override fun run() {
// do your task here
}
}
// repeat every hour
timer.schedule(task, 0L, 1000 * 60 * 60)
请参阅此处。
您可以使用 Timer 类并添加 TimerTask 来安排您的任务。您可以在这里找到潜在的解决方案。 KodeSrc 在 Kotlin Ktor 中安排任务