【问题标题】:How do I find the milliseconds of a certain time?如何找到某个时间的毫秒数?
【发布时间】:2013-12-18 01:49:14
【问题描述】:

我有一个程序,我想在计算机时间晚上 9:00 运行。我需要一种方法来找到它的毫秒数,以便我可以让计算机循环直到它击中它。像这样的:

while(true){
    if(System.currentTimeMillis() == [insert method to find millis].[get](2100)){
         break;
    }
}
// Do stuff

所以我只需要一种方法从晚上 9 点开始获取这些 Millis。有什么想法吗?

【问题讨论】:

  • 顺便说一句,请尽快回答... 9 10 分钟后
  • 如果计算机在 09:00:00 正忙于另一个进程,而您的循环仅在 09:00:01 测试?

标签: java timer milliseconds


【解决方案1】:

创建一个新的Calendar 对象(GregorianCalendar 最可能)并使用getTimeInMillis()

Calendar cal = new GregorianCalendar(2013, 12, 18, 21, 0, 0);
if(System.currentTimeMillis() == cal.getTimeInMillis()){

}

应该注意,如果您想定期执行此操作,您可能需要查看计划任务。

【讨论】:

  • 那么这是 24 小时还是上午/下午?因为我看不到那个选项。
  • 也许17 OP 今晚想要它?
  • 24 小时制,应该如此。你晚上 9 点让我失望了,使用 24 小时表示法。
  • @peeskillet: 21,不是 17 ;)
  • 请记住,这条线路在晚上 9 点(精确到毫秒)被调用的可能性很小。你真的应该检查当前时间是否在一个范围内。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 2012-06-08
  • 2012-02-12
相关资源
最近更新 更多