每天在特定时间使用Timer()运行一种方法

时间:2018-10-28 14:12:54

标签: java kotlin bukkit timertask

我使用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()需要一个TimerTaskDate和一个long

我很困惑,如何转换格式和日期,然后将其添加到timer.schedule()上,这样每天都会运行?另外,我如何尊重时区,并确保它至少在服务器时间附近运行?

1 个答案:

答案 0 :(得分:0)

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)

参考here