[英]Convert long time difference to format 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()
这应该会给你两次之间的毫秒差。 之后你知道一秒是 1k 毫秒,1min 是 60s,1h 是 60 分钟,依此类推。
看看 Commons Lang DurationFormatUtils 。
或 Joda-Time 的PeriodFormatter 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.