0

我有一个以毫秒为单位的数据,并且使用 CountDown 类我会以这种格式显示时间:天:小时:分钟:秒。如果我做毫秒 / 1000 我有总秒 如果我做 (毫秒 / 1000) / 60 我有总分钟等但是我怎样才能以这种格式显示倒计时:2天:21小时:56分钟:00秒

谢谢

4

2 回答 2

1

我认为您需要使用 mod (%) 运算符从每个部门中提取余数。

这个怎么样:

final long SEC_PER_DAY = 24 * 60 * 60;
final long SEC_PER_HOUR = 60 * 60;
final long SEC_PER_MIN = 60;

public void onTick(long millis) {
    long tot_sec   = millis/1000;
    long rem_days  = tot_sec / SEC_PER_DAY;
    long rem_hours = (tot_sec % SEC_PER_DAY) / SEC_PER_HOUR;
    long rem_mins  = ((tot_sec % SEC_PER_DAY) % SEC_PER_HOUR) / SEC_PER_MIN;
    long rem_secs  = ((tot_sec % SEC_PER_DAY) % SEC_PER_HOUR) % SEC_PER_MIN;

    // and then format as you please...
}
于 2012-04-17T15:33:26.867 回答
0

您应该使用 DateFormat 或 SimpleDateFormat,请参阅http://developer.android.com/reference/java/text/DateFormat.html

首先,您应该将毫秒转换为日期。

Date date = new Date();
date.setTime(millis);

然后您可以使用 DateFormat 将时间戳格式化为人类可读的字符串。

于 2012-04-17T08:50:33.897 回答