我有一个以毫秒为单位的数据,并且使用 CountDown 类我会以这种格式显示时间:天:小时:分钟:秒。如果我做毫秒 / 1000 我有总秒 如果我做 (毫秒 / 1000) / 60 我有总分钟等但是我怎样才能以这种格式显示倒计时:2天:21小时:56分钟:00秒
谢谢
我认为您需要使用 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...
}
您应该使用 DateFormat 或 SimpleDateFormat,请参阅http://developer.android.com/reference/java/text/DateFormat.html
首先,您应该将毫秒转换为日期。
Date date = new Date();
date.setTime(millis);
然后您可以使用 DateFormat 将时间戳格式化为人类可读的字符串。