Edd*_*nho 14 java time duration
如何在java中将分钟转换为小时和分钟(我们这里有一周,7天)
public String timeConvert(int time){
String t = "";
int h = 00;
int m = 00;
// h= (int) (time / 60);
// m = (int) (time % 60);
// if(h>=24) h=00;
if((time>=0) && (time<=24*60)){
h= (int) (time / 60);
m = (int) (time % 60);
}else if((time>24*60) && (time<=24*60*2)){
h= (int) (time / (1440));
m = (int) (time % (1440));
}else if((time>24*60*2) && (time<=24*60*3)){
h= (int) (time / (2880));
m = (int) (time % (2880));
}else if((time>24*60*3) && (time<=24*60*4)){
h= (int) (time / (2880*2));
m = (int) (time % (2880*2));
}else if((time>24*60*4) && (time<=24*60*5)){
h= (int) (time / (2880*3));
m = (int) (time % (2880*3));
}else if((time>24*60*5) && (time<=24*60*6)){
h= (int) (time / (2880*4));
m = (int) (time % (2880*4));
}else if((time>24*60*6) && (time<=24*60*7)){
h= (int) (time / (2880*5));
m = (int) (time % (2880*5));
}
t =h+":"+m ;
return t;
}
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它不起作用
谢谢
Pet*_*rey 31
一个较短的方式.(假设时间> = 0)
public String timeConvert(int time) {
return time/24/60 + ":" + time/60%24 + ':' + time%60;
}
Run Code Online (Sandbox Code Playgroud)
Rom*_*eau 15
如果你想自己做,那就走另一条路.
Eya*_*der 10
如果使用Java 6,则TimeUnit枚举可能很有用.例如:
TimeUnit.HOURS.convert(10, TimeUnit.DAYS)
Run Code Online (Sandbox Code Playgroud)
此静态调用将10天转换为小时单位,并返回240.您可以使用从NANOSECONDS开始到DAYS结束的时间单位.
实际上,TimeUnit可以从Java 5获得,但在版本6中添加了更多单元.
--EDIT--现在我更了解你的问题,使用除了Romain的响应中的除法和余数方法.我的提示仅适用于转换为单个时间单位.
java.time解决方案:import java.time.Duration;
public class Main {
public static void main(String[] args) {
// Test
System.out.println(minutesToDaysHoursMinutes(10080));
System.out.println(minutesToDaysHoursMinutes(1600));
}
public static String minutesToDaysHoursMinutes(int time) {
Duration d = Duration.ofMinutes(time);
long days = d.toDaysPart();
long hours = d.toHoursPart();
long minutes = d.toMinutesPart();
return String.format("%d Day(s) %d Hour(s) %d Minute(s)", days, hours, minutes);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
7 Day(s) 0 Hour(s) 0 Minute(s)
1 Day(s) 2 Hour(s) 40 Minute(s)
Run Code Online (Sandbox Code Playgroud)
java.time解决方案:import java.time.Duration;
public class Main {
public static void main(String[] args) {
// Test
System.out.println(minutesToDaysHoursMinutes(10080));
System.out.println(minutesToDaysHoursMinutes(1600));
}
public static String minutesToDaysHoursMinutes(int time) {
Duration d = Duration.ofMinutes(time);
long days = d.toDays();
long hours = d.toHours() % 24;
long minutes = d.toMinutes() % 60;
return String.format("%d Day(s) %d Hour(s) %d Minute(s)", days, hours, minutes);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
7 Day(s) 0 Hour(s) 0 Minute(s)
1 Day(s) 2 Hour(s) 40 Minute(s)
Run Code Online (Sandbox Code Playgroud)
从Trail: Date Time了解现代日期时间 API 。
答案是:
public String timeConvert(int time){
String t = "";
int j = time/(24*60);
int h= (time%(24*60)) / 60;
int m = (time%(24*60)) % 60;
t =j + ":" + h + ":" + m;
return t;
}
Run Code Online (Sandbox Code Playgroud)
你怎么看待这段代码?
| 归档时间: |
|
| 查看次数: |
42685 次 |
| 最近记录: |