我希望计算当天时间的分钟数。
例如:当输入为11:34时,输出应为11 * 60 + 34。这个日期并不重要。
我只需要它到分钟刻度。秒,毫秒......不重要。 在没有我计算它的情况下,Java中的某个方法是否能够以一种简洁的方式执行此操作?
现在,我正在使用theTime.split(":")
,theTime
是String
持有" 11:34"在这里,解析每边的整数并进行计算。
我看到了Time
,但我现在所做的似乎更直接。
Systems
中也没有。
答案 0 :(得分:5)
没有构建方法。但是这里有一个单行:
int timeInMins = Calendar.getInstance().get(Calendar.HOUR_OF_DAY) * 60 + Calendar.getInstance().get(Calendar.MINUTE);
答案 1 :(得分:2)
你的方法看起来很好听,但是为了回答你的问题,可以很容易地说,没有这样的构建方法可以做到这一点。你必须按照你现在的方式计算它。
答案 2 :(得分:1)
如果您希望输入不是来自String,请查看
java.util.Calendar中。
它有Calendar.HOUR_OF_DAY和Calendar.HOUR以及Calendar.MINUTE,可以作为您的输入。我不确定"整洁"这样做的方式。这是一个简单的计算。
答案 3 :(得分:1)
你好,也许你可以使用JodaTime?下面的示例如何从解析的字符串和当前时间获取分钟数。在java 8中有类似api,但我没有找到像minutesOfDay()
这样的确切方法@Test
public void learnHowManyMinutesPassedToday() {
DateTime time = DateTimeFormat.forPattern("HH:mm").parseDateTime("11:34");
System.out.println(time.getMinuteOfDay());
System.out.println(DateTime.now().getMinuteOfDay());
}
答案 4 :(得分:0)
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR);
int min = rightNow.get(Calendar.MINUTE);
System.out.println("TimeMinutes:" + hour * 60 + min);
编辑: 除了使用拆分使用以上。