【发布时间】:2011-04-12 14:30:55
【问题描述】:
我正在使用 Excel 格式
0.6549
意味着我们一天的工作量为 65.49%。我如何将其转换为漂亮的时间,例如
下午 15:30:42
在 Java 中?
【问题讨论】:
我正在使用 Excel 格式
0.6549
意味着我们一天的工作量为 65.49%。我如何将其转换为漂亮的时间,例如
下午 15:30:42
在 Java 中?
【问题讨论】:
试试这个:
public static void main(String[] args) throws Exception {
DateFormat format = new SimpleDateFormat("HH:mm:ss a");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
for(String fracStr : args) {
double frac = Double.parseDouble(fracStr);
long day = (long) Math.floor(frac);
frac = frac - day;
Date time = new Date((long) ( 86400000l * frac));
System.out.println(fracStr+" -> "+format.format(time));
}
}
这里有一点注意 - GMT 时区可能无法为您提供您期望的结果,但 UTC 可以。这是因为 Java 将 GMT 视为 Europe/London 的有效缩写,并且在 1968 年至 1972 年间,伦敦实行永久夏令时。所以格林威治标准时间 1970 年 1 月 1 日午夜(Java 时代)也是 1970 年 1 月 1 日凌晨 1 点(格林威治标准时间)。
【讨论】: