Parfois, il est nécessaire d'atteindre une telle exigence:
Les valeurs des jours, des heures, des minutes et des secondes sont toutes séparées, et le serveur ne renvoie qu'une longueur horaire.
Ce qui suit est mon plan de mise en œuvre, s'efforçant de réduire la génération d'objets et le montant du calcul:
import java.util.timer; import java.util.timertask; classe publique CountdownUtils {private static long day = 0; Heure longue statique privée = 0; Longure minute statique privée = 0; STATIQUE privé long seconde = 0; Boolean statique privé DayNotalready = false; booléen statique privé hourNotalready = false; MinUtenotalready = False) privé statique statique statique; public static void main (String [] args) {long totalseconds = 60 * 60 * 24 * 34 + 21; initdata (totalseconds); new Timer (). Schedule (new Timertask () {public void run () {if (secondNotalReady) {startCount ();} else {ansember ();}}}}, 0, 1000); } / ** * Affectation d'initialisation * * @param totalseconds * / private static void initData (long totalseconds) {reetData (); if (totalseconds> 0) {secondNotalReady = true; second = totalseconds; if (seconde> = 60) {minUtenotalReady = true; minute = seconde / 60; seconde = seconde% 60; if (minute> = 60) {hourNotalReady = true; heure = minute / 60; minute = minute% 60; if (hour> 24) {dayNotalReady = true; jour = heure / 24; heure = heure% 24; }}}} System.out.println ("After Initial Formatting->" + Day + "Day" + Hour + "Hour" + Minute + "Minute" + Second + "Second"); } private static void resetData () {day = 0; heure = 0; minute = 0; seconde = 0; dayNotalready = false; hourNotalready = false; MinUtenotalReady = FALSE; secondNotalReady = false; } / ** * Calculer les modifications de chaque valeur * * / public static void startCount () {if (secondNotalReady) {if (second> 0) {second--; if (second == 0 &&! MinUtenotalReady) {secondNotalReady = false; }} else {if (minUtenotalReady) {if (minute> 0) {minute--; seconde = 59; if (minute == 0 &&! hourNotalReady) {minUtenotalReady = false; }} else {if (hourNotalReady) {if (hour> 0) {hour--; minute = 59; seconde = 59; if (minute == 0 &&! hourNotalReady) {minUtenotalReady = false; }} else {if (hourNotalReady) {if (hour> 0) {hour--; minute = 59; seconde = 59; if (hour == 0 &&! dayNotalReady) {hourNotalReady = false; }} else {if (dayNotalReady) {day--; heure = 23; minute = 59; seconde = 59; if (day == 0) {dayNotalReady = false; }}}}}}}}}}}} System.out.println ("Il appartient à la date limite->" + jour + "Day" + Hour + "Hour" + Minute + "Minute" + Second + "Second"); }}Résumer
Ce qui précède est la fonction de compte à rebours de Java Implémentation introduite par l'éditeur (calcul des jours, heures, minutes et secondes à partir de secondes). J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!