8 changed files with 114 additions and 1 deletions
@ -0,0 +1,55 @@ |
|||
package com.dongjian.dashboard.back.util; |
|||
|
|||
import java.util.Locale; |
|||
import java.util.ResourceBundle; |
|||
|
|||
/** |
|||
* 持续时间对象,包含结构化时间单位 |
|||
*/ |
|||
public class DurationData { |
|||
private long days; |
|||
private long hours; |
|||
private long minutes; |
|||
private long seconds; |
|||
|
|||
// 构造函数
|
|||
public DurationData(long days, long hours, long minutes, long seconds) { |
|||
this.days = days; |
|||
this.hours = hours; |
|||
this.minutes = minutes; |
|||
this.seconds = seconds; |
|||
} |
|||
|
|||
// Getters
|
|||
public long getDays() { return days; } |
|||
public long getHours() { return hours; } |
|||
public long getMinutes() { return minutes; } |
|||
public long getSeconds() { return seconds; } |
|||
|
|||
// 从毫秒创建
|
|||
public static DurationData fromMilliseconds(long ms) { |
|||
if (ms <= 0) { |
|||
return new DurationData(0, 0, 0, 0); |
|||
} |
|||
|
|||
long totalSeconds = ms / 1000; |
|||
long days = totalSeconds / (24 * 3600); |
|||
long hours = (totalSeconds % (24 * 3600)) / 3600; |
|||
long minutes = (totalSeconds % 3600) / 60; |
|||
long seconds = totalSeconds % 60; |
|||
|
|||
return new DurationData(days, hours, minutes, seconds); |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return String.format("DurationData{days=%d, hours=%d, minutes=%d, seconds=%d}", |
|||
days, hours, minutes, seconds); |
|||
} |
|||
|
|||
public static void main(String[] args){ |
|||
DurationData durationData = DurationData.fromMilliseconds(15306504932L); |
|||
System.out.println(durationData); |
|||
System.out.println(durationData.getDays()); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue