私はミリ秒単位のデータを持っており、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を使用して、タイムスタンプを人間が読める形式の文字列にフォーマットできます。