Android:倒计时和格式化时间

时间:2012-04-17 08:37:04

标签: android time countdown

我有一个以毫秒为单位的数据,使用CountDown类我将以这种格式显示时间:Days:Houres:Minutes:Seconds。 如果我做毫秒/ 1000我有总秒 如果我这样做(毫秒/ 1000)/ 60我有总分钟数 等等 但是如何以这种格式显示倒计时:2dayes:21houres:56分钟:00seconds

由于

2 个答案:

答案 0 :(得分: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...
}

答案 1 :(得分:0)

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

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

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

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