Иногда требуется для достижения такого требования:
Значения дней, часов, минут и секунд разделены, и сервер возвращает только одну длину марки.
Ниже приведен мой план реализации, стремясь уменьшить количество генерации объектов и расчета:
импортировать java.util.timer; импортировать java.util.timertask; открытый класс countdownutils {частный статический долгий день = 0; частный статический длинный час = 0; частная статическая длинная минута = 0; частный статический длинный второй = 0; Частный статический логический день DaynotalReady = false; Частный статический логический hournotalready = false; Частный статический логический MinuteNotalReady = false; public static void main (string [] args) {long totalseconds = 60 * 60 * 24 * 34 + 21; initData (totalseconds); new Timer (). Prade (new Timertask () {public void run () {if (secondotalReady) {startCount ();} else {cancel ();}}}}, 0, 1000); } / ** * Назначение инициализации * * @param totalseconds * / private static void initdata (long totalseconds) {resetData (); if (totalseconds> 0) {secondnotalready = true; второе = точные второго секунды; if (second> = 60) {minutenotalready = true; минута = вторая / 60; второй = второй % 60; if (minute> = 60) {HournotalReady = true; час = минута / 60; минута = минута % 60; if (час> 24) {daynotalready = true; день = час / 24; час = час % 24; }}}} System.out.println ("После начального формата->" + day + "day" + час + "Час" + минута + "минута" + второй + "второй"); } private static void resetData () {day = 0; час = 0; минута = 0; второе = 0; DaynotalReady = false; HournotalReady = false; minuteNotalReady = false; SecondOtalReady = false; } / *** Рассчитайте изменения в каждом значении** / public static void startCount () {if (secondotalReady) {if (second> 0) {second--; if (second == 0 &&! minuteNotalReady) {secondnotalReady = false; }} else {if (minuteNotalReady) {if (minute> 0) {минута--; второй = 59; if (minute == 0 &&! HournotalReady) {minutEnotalReady = false; }} else {if (HournotalReady) {if (час> 0) {час--; минута = 59; второй = 59; if (minute == 0 &&! HournotalReady) {minutEnotalReady = false; }} else {if (HournotalReady) {if (час> 0) {час--; минута = 59; второй = 59; if (час == 0 &&! DaynotalReady) {HournotalReady = false; }} else {if (daynotalReady) {day--; час = 23; минута = 59; второй = 59; if (day == 0) {daynotalready = false; }}}}}}}}}}} System.out.println ("Это все еще до срока срока->" + day + "day" + hour + hour " + минута +" + второй + "второй"); }}Суммировать
Выше приведено функция обратного отсчета Java, представленную редактором (расчеты, часы, минуты и секунды с секунды). Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!