午夜后我还有几分钟。
例如 3Am 表示为 = 180
(使用 3*60
找到)
现在我需要将它转换成24
小时时间格式 HH24 :mm
= 03:00
我们如何为此使用简单的日期格式化程序/日历?
最佳答案
我会使用数学,强制日期时间库执行此操作不会更简单(因为它需要毫秒和时区)
int mins = 180;
String hhmm = String.format("%02d:%02d", mins / 60, mins % 60);
要用日历做很多相同的事情(它会处理你可以做的夏令时)
int mins = 180;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, mins/60);
cal.set(Calendar.MINUTE, mins % 60);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String hhmm = sdf.format(cal.getTime());
System.out.println(hhmm);
打印
03:00
但是在夏令时更改的日子里,您可能会得到 02:00 或 04:00
关于java - 将午夜后的分钟数转换为 24 小时制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24983655/