33

これは私が現時点で持っているものです

Seconds = (60 - timeInMilliSeconds / 1000 % 60);
Minutes = (60 - ((timeInMilliSeconds / 1000) / 60) %60);

私は正しいと感じています。何時間も何日も -

Hours = ((((timeInMilliSeconds / 1000) / 60) / 60) % 24);
Days =  ((((timeInMilliSeconds / 1000) / 60) / 60) / 24)  % 24;

その後-

TextView.SetText("Time left:" + Days + ":" + Hours + ":" + Minutes + ":" + Seconds);

しかし、私の時間と日は間違っていることがわかりました

4

10 に答える 10

11

SimpleDateFormat はあなたの友達です! (私は今日それを発見しました、それは素晴らしいです。)

SimpleDateFormat formatter = new SimpleDateFormat("dd:HH:mm:ss", Locale.UK);

Date date = new Date(timeInMilliSeconds);
String result = formatter.format(date);
于 2013-10-29T19:32:42.690 に答える
3

Android で経過時間/残り時間をフォーマットするandroid.text.format.DateUtilsには、特に とgetRelativeTimeSpanStringを使用しformatElapsedTimeます。

于 2013-10-29T20:22:52.260 に答える
1

joda-time API ( http://joda.org/joda-time/ )も使用できます。

「クラス DateTimeFormat は、パターンによる書式設定をサポートする単一のメソッド forPattern(String) を提供します。これらの「パターンベース」のフォーマッターは、SimpleDateFormat と同様のアプローチを提供します。」

LocalDate date = LocalDate.now();
DateTimeFormatter fmt = DateTimeFormat.forPattern("d MMMM, yyyy");
String str = date.toString(fmt);
于 2013-10-29T20:07:18.817 に答える
0

救助への java.util.concurrent.TimeUnit:

    long remainingMillis = 1076232425L; // Your value comes here.

    long days = TimeUnit.MILLISECONDS.toDays(remainingMillis);
    long daysMillis = TimeUnit.DAYS.toMillis(days);

    long hours = TimeUnit.MILLISECONDS.toHours(remainingMillis - daysMillis);
    long hoursMillis = TimeUnit.HOURS.toMillis(hours);

    long minutes = TimeUnit.MILLISECONDS.toMinutes(remainingMillis - daysMillis - hoursMillis);
    long minutesMillis = TimeUnit.MINUTES.toMillis(minutes);

    long seconds = TimeUnit.MILLISECONDS.toSeconds(remainingMillis - daysMillis - hoursMillis - minutesMillis);

    String resultString = days + " day(s) " + hours + " hour(s) " + minutes + " minute(s) " + seconds + " second(s)";
于 2021-01-12T06:31:36.577 に答える