我有一个将来的时间戳(UTC)。现在我想以人类可读的格式显示剩下的时间,例如" 2h 15min "。但我不确定DateUtils的哪种方法是最好的方法。有什么建议?我在考虑:
这是一个示例代码:
scene.updateMatrixWorld()
解决方案:根据您的想法,我是如何解决的。谢谢!
int gmtOffset = TimeZone.getDefault().getRawOffset();
long utcTimestamp = item.getExpirationDate();
long localTimestamp = utcTimestamp + gmtOffset;
Calendar c = Calendar.getInstance();
long localNow = c.getTimeInMillis();
// ToDo: show timespan of (localTimestamp - localNow) in human readable format e.g. 2h 5min left
答案 0 :(得分:3)
请尝试以下代码: -
long gmtOffset = TimeZone.getDefault().getRawOffset();
long utcTimestamp = item.getExpirationDate();
DateUtils.getRelativeTimeSpanString(utcTimestamp, gmtOffset, DateUtils.DAY_IN_MILLIS);
答案 1 :(得分:2)
你需要通过SimpleDateFormat方法来做。请查看示例。
Calendar cal = Calendar.getInstance();
DateFormat outputFormat = new SimpleDateFormat("hh:mm:ss a");
String formattedTime = outputFormat.format(cal.getTime());
答案 2 :(得分:1)
最简单,最简单的方法就是使用
int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours = (int) ((milliseconds / (1000*60*60)) % 24);
这是您从localTimestamp - localNow
只需使用,
System.out.println(hours + " hours " + minutes + " min");
这将以您想要的方式显示时间。希望它有所帮助。