我有十进制格式的天,例如 22.5 天我想使用 java 将其转换为 22 天 12 小时
在上述问题中需要帮助。先感谢您
您可以使用 SimpleDateFormat 但简单的数学可能更简单。
double days = 22.5;
long hours = Math.round(days * 24);
String text = hours/24 + " days, " + hours % 24 +" hours.";
添加分钟和秒你可以做到。
double days = 22.5;
long seconds = Math.round(days * 86400);
String text = seconds/86400 + " days, "
+ seconds / 3600 % 24 + " hours, "
+ seconds / 60 % 60 + " minutes, "
+ seconds % 60 + " second.";
使用 SimpleDateFormat
SimpleDateFormat SDF = new SimpleDateFormat("dd' days, 'hh' hours'");
SDF.setTimeZone(TimeZone.getTimeZone("GMT"));
String text = SDF.format(new Date(Math.round(days * 86400000)));
注意:SimpleDateFormat 最多只能使用 31 天。;)
这是一个模糊的答案,但只是为了向您展示它非常简单:
int a=22.5,hr,days;
int days=22.5;
float t1=22.5;
(t1-days)*24=...
:)