java - 将午夜后的分钟数转换为 24 小时制

标签 java simpledateformat

午夜后我还有几分钟。

例如 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/

相关文章:

Java - 无法解析的日期

java - 日期格式格式不正确

java - 验证上次修改日期以使用户的密码过期

Java SimpleDateFormat 无法用 "Aug 15, 2017, 4:58 PM ET"解析 "MMM dd, yyyy, h:mm a z"

java - 如何告诉父进程等待子进程?

java - 命名空间错误 : An attempt is made to create or change an object in a way which is incorrect with regard to namespaces

java - 自定义 ListAdapter 中的点击监听器如何修改列表数据?

java - JSP 无法从输入中获取值

android :layout_gravity 的 Java 方法

Java 7 Calendar.getInstance、TimeZone.getTimeZone 同步且速度慢,有什么解决方法吗?