我有一个字符串,其中包含服务器启动的总时间-
String uptime = data.get("machine_uptime");
例如,正常运行时间变量将具有这样的值-
183:23:15.195804
或00: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分钟