Android:以人类可读的格式显示剩余时间



我得到了一个时间戳(UTC),这是在未来。现在我想以人类可读的格式显示从现在开始的剩余时间,如"2h 15min"。但我不确定dateutil的哪种方法是最好的方法。有什么建议吗?我在想:

DateUtils.getRelativeDateTimeString

这是一个示例代码:

            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

解决方案:我就是按照你的想法解决的。谢谢!

    final CharSequence timespan = DateUtils.getRelativeTimeSpanString(
            localTimestamp,
            localNow,
            DateUtils.MINUTE_IN_MILLIS,
            DateUtils.FORMAT_ABBREV_RELATIVE);

试试下面的代码:-

    long gmtOffset = TimeZone.getDefault().getRawOffset();
    long utcTimestamp = item.getExpirationDate();
    DateUtils.getRelativeTimeSpanString(utcTimestamp, gmtOffset, DateUtils.DAY_IN_MILLIS);

你需要通过SimpleDateFormat方法来做。请检查示例

Calendar cal = Calendar.getInstance();
DateFormat outputFormat = new SimpleDateFormat("hh:mm:ss a");
String formattedTime = outputFormat.format(cal.getTime());

最简单的方法就是使用这个,

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");

这将以您想要的方式显示时间。

相关内容

  • 没有找到相关文章

最新更新