在JAVA中将秒转换为W、D、H、M格式
我有以秒为单位的时间,我想把它转换成像6w 3d 9h 5m这样的格式。有人能提供一种方法来完成这项任务吗。谢谢:) w=周 d=天 h=小时 m=分钟 我已经尝试了下面的代码,但我没有得到几个星期使用在JAVA中将秒转换为W、D、H、M格式,java,seconds,time-format,Java,Seconds,Time Format,我有以秒为单位的时间,我想把它转换成像6w 3d 9h 5m这样的格式。有人能提供一种方法来完成这项任务吗。谢谢:) w=周 d=天 h=小时 m=分钟 我已经尝试了下面的代码,但我没有得到几个星期使用 int day = (int)TimeUnit.SECONDS.toDays(seconds); long hours = TimeUnit.SECONDS.toHours(seconds) - TimeUnit.SECONDS.toHours(TimeUnit.SECONDS.
int day = (int)TimeUnit.SECONDS.toDays(seconds);
long hours = TimeUnit.SECONDS.toHours(seconds) - TimeUnit.SECONDS.toHours(TimeUnit.SECONDS.toDays(seconds));
long minute = TimeUnit.SECONDS.toMinutes(seconds) - TimeUnit.SECONDS.toMinutes(TimeUnit.SECONDS.toHours(seconds));
System.out.println("Day :"+day+" Hours :"+hours+" Minutes :"+minute);
将打印:
163w 2d 2h 50m
将打印:
163w 2d 2h 50m
这将为您提供:
1w 4d 10h 20m
应该有更优雅的方式,但这是可行的:
long s = 987654l;
final long M=60,H=60*M, D=24*H, W=7*D;
long w = s/W;
s%=W;
long d = s/D;
s%=D;
long h = s/H;
s%=H;
long m = s/M;
System.out.printf("%dw %dd %dh %dm",w,d,h,m);
这将为您提供:
1w 4d 10h 20m
应该有更优雅的方式,但这是可行的:
long s = 987654l;
final long M=60,H=60*M, D=24*H, W=7*D;
long w = s/W;
s%=W;
long d = s/D;
s%=D;
long h = s/H;
s%=H;
long m = s/M;
System.out.printf("%dw %dd %dh %dm",w,d,h,m);
在这种情况下,我没有几个星期的时间。还发现我无法使用周TimeUnit@Mizan当前位置请把它放到问题中……在这种情况下,我没有几个星期的时间。还发现我无法使用周TimeUnit@Mizan当前位置请把它放到问题中…我试过这个。。它不会给出正确的结果,每周都是1。谢谢:)刚刚试过,604801说你有一周,1209602说你有两周,98765410试过了,我得到163w 2d 27386h 50m。你能帮忙吗?谢谢,它对我有用,我只是忘了从小时中减去天。我认为你的“从w d h m到秒的转换”方法不正确,请检查我试过这个。。它不会给出正确的结果,每周都是1。谢谢:)刚刚试过,604801说你有一周,1209602说你有两周,98765410试过了,我得到163w 2d 27386h 50m。你能帮忙吗?谢谢,它对我有用,我只是忘了从小时中减去天。我认为你的“从w d h m到秒的转换”方法不正确,请检查它