如何解决将长时间差转换为格式HH:mm [Java]
| 如何将给定时间的当前时间转换为时间格式为HH:mm的字符串?例如18:36 我做了以下操作,但是它不是24小时格式,它将在末尾添加AM / PM,并且需要3个小时的时间。 java.util.Date today = new java.util.Date();
java.sql.Timestamp ts1 = new java.sql.Timestamp(today.getTime());
SimpleDateFormat dateFormat = new SimpleDateFormat(\"yyyy-MM-dd\'T\'hh:mm:ss\");
java.util.Date parsedDate = dateFormat.parse(time);
java.sql.Timestamp ts2 = new java.sql.Timestamp(parsedDate.getTime());
long nowTime = ts1.getTime();
long givenTime = ts2.getTime();
long timeDiff = givenTime - nowTime;
//convert to string
java.util.Date d = new java.util.Date(timeDiff);
result = DateFormat.getTimeInstance(DateFormat.SHORT).format(d);
//Outputs: 6:56 PM for example
解决方法
一旦简单,您就可以为两个日期调用getTime(),然后像这样减去它们:
long timeDiff = today.getTime() - ts1.getTime()
那应该使您两次之间的毫秒数有所不同。之后,您知道1秒是1k毫秒,1min是60s,1h是60分钟,依此类推。
, 看看Commons Lang DurationFormatUtils。
或Joda-Time的PeriodFormatter。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。