我有一个字符串,其中包含服务器启动的总时间-

String uptime = data.get("machine_uptime");


例如,正常运行时间变量将具有这样的值-183:23:15.19580400:01:17.302305。我需要检查我的机器是否超过15分钟。所以我想出了下面的代码

int minutes = Integer.parseInt(uptime.split(":")[1]);

if (minutes > 15) {
    flag = true;
}


这是进行检查的正确方法吗?

最佳答案

您可以使用正则表达式:

flag = uptime.matches("[^:]*[1-9][^:]*:.*|[^:]+:(1[5-9]|[2-5]\\d).*");


这通过以下方式断言15:


任何非零小时值,或
任何带有分钟的小时值:

以“ 1”开始,然后是“ 5-9”-即15到19分钟
以大于“ 1”的数字开头-即20到59分钟

09-30 17:11
查看更多