J'ai besoin de convertir minutes code> (défini comme entier) dans le format de chaîne suivant "HH: mm" en supposant que le démarrage code> est "00:00". Le code ci-dessous est ce que j'ai jusqu'à présent, mais cela ne fonctionne pas correctement. En outre, il ne prend pas en compte que le newtime code> doit être décalé conformément au Starttime code>. Y a-t-il une autre solution? String startTime = "00:00";
int minutes = 120;
double time = minutes/60;
String timeS = Double.toString(time);
String[] hourMin = timeS.split(".");
String h = hourMin[0];
String m = hourMin[1];
String newTime = "";
newTime.concat(h+":"+m);
8 Réponses :
J'ai écrit ceci récemment pour convertir des secondes en heures, minutes et secondes; Adaptez-le comme vous s'il vous plaît (remplacez "S", "M", "H" avec des points, omettres secondes, etc.).
private static String getFormattedTime(int secs) {
// int secs = (int) Math.round((double) milliseconds / 1000); // for millisecs arg instead of secs
if (secs < 60)
return secs + "s";
else {
int mins = (int) secs / 60;
int remainderSecs = secs - (mins * 60);
if (mins < 60) {
return (mins < 10 ? "0" : "") + mins + "m "
+ (remainderSecs < 10 ? "0" : "") + remainderSecs + "s";
}
else {
int hours = (int) mins / 60;
int remainderMins = mins - (hours * 60);
return (hours < 10 ? "0" : "") + hours + "h "
+ (remainderMins < 10 ? "0" : "") + remainderMins + "m "
+ (remainderSecs < 10 ? "0" : "") + remainderSecs + "s";
}
}
}
Vous allez ici: kotlin strong> version p>
Vous pouvez même la raccourcir à: string.format ("% 02d:% 02d", heures, restminutes); code>
Pour convertir la chaîne en minutes Stackoverflow.com/Questtions/8909075/...
Cela ne fonctionnera pas si min est au-dessus de 125. TimeUnit.minutes.Tehours (120) devrait ajouter de la valeur min.
String startTime = "00:00"; int minutes = 120; int h = minutes / 60 + Integer.parseInt(startTime.substring(0,1)); int m = minutes % 60 + Integer.parseInt(startTime.substring(3,4)); String newtime = h+":"+m;
int h = minutes / 60 + inteur.valueof (starttime.substring (0,1));
Comment puis-je obtenir la sortie "02:00"? Maintenant c'est "2: 0".
Vous pouvez utiliser string.format, par ex. String.format ("% 02d", heures).
J'ai trouvé une erreur dans ce code. Si StarTime = "10:00", le code le convertit sur "1" au lieu de "10". Révisions?
Ce code est complètement incorrect - il ne gère pas débordement du champ minutes dans le champ Heures.
String startTime = "00:00"; int minutes = 120; //--- counting int hour = minutes/60; minutes=minutes-hours*60; String m = Integer.toString(minutes); String h = Integer.toString(hours); newTime=h+":"+m;
int ALLTIME_IN_MINUTES = 1444
int hour = ALLTIME_IN_MINUTES /60;
int min = ALLTIME_IN_MINUTES %60;
String dateStr = hour+":"+min;
SimpleDateFormat curFormater = new SimpleDateFormat("H:m");
Date dateObj = curFormater.parse(dateStr);
SimpleDateFormat postFormater = new SimpleDateFormat("HH:mm");
String newDateStr = postFormater.format(dateObj);
RESULT:
24:04
int minutes = 129;
double hoursAndMinutes = (minutes / 60)
+ (double) minutes % 60 / 100;
String hoursAndMinutesStr = new DecimalFormat("0.00").format(hoursAndMinutes).replace('.', ':');
System.out.println(hoursAndMinutesStr);
Bien que techniquement, le résultat est correct (car 60 <100), c'est le mauvais moyen d'aborder ce type de tâches. La division est logique (une heure a 60 minutes), pas mathématique. Les minutes ne sont pas des "fractions d'heure".
De plus, veuillez ne pas ajouter de réponses aux questions avec de nombreuses réponses correctes qui ont déjà été acceptées.
La réponse
apines est bonne mais si vous souhaitez supprimer l'avertissement dans Android, ajoutez «Locale»:
int hours = 3; int minutes = 6; private static final String TIME_SEPARATOR = ":"; String.format(Locale.getDefault(), "%02d"+TIME_SEPARATOR+"%02d", hours, minutes);
int minutes = 120;
int h = minutes / 60;
int m = minutes % 60;
String.format("%02d:%02d",h,m); // output : "02:00"
String.format("%d:%d",h,m); // output : "2:0"
Utilisez Jodatime. Cela rend le travail de date / heure fonctionne réellement!
Pourriez-vous fournir un exemple?
devrait probablement ajouter la balise code> devoirs code>