在java中如何将int(分钟)转换为Duration?
我试图将一个持续时间与一个表示分钟的整数进行比较,以确定它是更长的时间还是更短的时间。我试图使用compareToDuration方法,但不能使用int作为参数。如何将整数分钟转换为持续时间?您可以使用静态方法创建以分钟为单位的持续时间。所以,作为一个愚蠢的例子在java中如何将int(分钟)转换为Duration?,java,time,duration,Java,Time,Duration,我试图将一个持续时间与一个表示分钟的整数进行比较,以确定它是更长的时间还是更短的时间。我试图使用compareToDuration方法,但不能使用int作为参数。如何将整数分钟转换为持续时间?您可以使用静态方法创建以分钟为单位的持续时间。所以,作为一个愚蠢的例子 int compareDurations(Duration d) { int myMinutes = 5; Duration durationInMinutes = Duration.ofMinutes(myMinute
int compareDurations(Duration d) {
int myMinutes = 5;
Duration durationInMinutes = Duration.ofMinutes(myMinutes);
return d.compareTo(durationMinutes);
}
单程,带:
持续时间=10的持续时间,计时单位:秒;
整数秒=5;
System.out.printlnduration.getSeconds-秒;
注意,它有许多有用的常量成员,如分钟、天、周、世纪等
另一种方式是:
LocalTime LocalTime=LocalTime.of0,0,15//hh-mm-ss
整数秒=5;
System.out.printlnllocaltime.getSecond-秒;
我总是觉得涉及比较的代码很难阅读。因此,在大多数情况下,我更愿意采用另一种方式:将持续时间转换为分钟,然后使用普通的时间进行比较 输出: 分钟更短或相同 如果您需要知道分钟是否严格更短,那么代码将稍微长一点,当然这不是开玩笑的本意。在某些情况下,一种方法确实涉及将分钟转换为持续时间:
if (minutes > dur.toMinutes()) {
System.out.println("The minutes are longer");
} else if (Duration.ofMinutes(minutes).equals(dur)) {
System.out.println("The minutes are the same");
} else {
System.out.println("The minutes are shorter");
}
时间更短
我真希望Duration类有isLonger和isShorter方法,尽管刚才提到的名称在负Duration时可能不太清楚。然后,我建议将分钟数转换为一个持续时间,如已接受的答案所示。您使用的持续时间类是什么?java.time.DurationDuration.ofminutesimutesint
if (minutes > dur.toMinutes()) {
System.out.println("The minutes are longer");
} else if (Duration.ofMinutes(minutes).equals(dur)) {
System.out.println("The minutes are the same");
} else {
System.out.println("The minutes are shorter");
}