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