Ich muss eine beliebige Anzahl von Millisekunden in Tage, Stunden, Minuten und Sekunden umrechnen.
Zum Beispiel: 10 Tage, 5 Stunden, 13 Minuten, 1 Sekunde.
Ich muss eine beliebige Anzahl von Millisekunden in Tage, Stunden, Minuten und Sekunden umrechnen.
Zum Beispiel: 10 Tage, 5 Stunden, 13 Minuten, 1 Sekunde.
Warum macht man so etwas nicht einfach?
var ms = 86400;
var Sekunden = ms / 1000; //86,4
var Minuten = Sekunden / 60; //1.4400000000000002
var Stunden = Minuten / 60; //0.0240000000000000000004
var Tage = Stunden / 24; //0.0010000000000000002
Und der Umgang mit Float-Präzision z.B. Number(minutes.toFixed(5)) //1.44
Ich bin nicht in der Lage, die erste Antwort auf Ihre Frage zu kommentieren, aber es gibt einen kleinen Fehler. Sie sollten parseInt oder Math.floor verwenden, um Fließkommazahlen in Ganzzahlen zu konvertieren, i
var days, hours, minutes, seconds, x;
x = ms / 1000;
seconds = Math.floor(x % 60);
x /= 60;
minutes = Math.floor(x % 60);
x /= 60;
hours = Math.floor(x % 24);
x /= 24;
days = Math.floor(x);
Ich persönlich verwende CoffeeScript in meinen Projekten und mein Code sieht so aus:
getFormattedTime : (ms)->
x = ms / 1000
seconds = Math.floor x % 60
x /= 60
minutes = Math.floor x % 60
x /= 60
hours = Math.floor x % 24
x /= 24
days = Math.floor x
formattedTime = "#{seconds}s"
if minutes then formattedTime = "#{minutes}m " + formattedTime
if hours then formattedTime = "#{hours}h " + formattedTime
formattedTime
In Python 3 können Sie Ihr Ziel mit folgendem Schnipsel erreichen:
from datetime import timedelta
ms = 536643021
td = timedelta(milliseconds=ms)
print(str(td))
# --> 6 days, 5:04:03.021000
Timedelta-Dokumentation: https://docs.python.org/3/library/datetime.html#datetime.timedelta
Quelle der Methode __str__ von timedelta str: https://github.com/python/cpython/blob/33922cb0aa0c81ebff91ab4e938a58dfec2acf19/Lib/datetime.py#L607
Ich empfehle die Verwendung von http://www.ocpsoft.org/prettytime/ Bibliothek.
ist es sehr einfach, das Zeitintervall in einer für den Menschen lesbaren Form zu erhalten wie
PrettyTime p = new PrettyTime(); System.out.println(p.format(new Date()));
wird es wie "Augenblicke von jetzt" gedruckt
anderes Beispiel
PrettyTime p = new PrettyTime()); Date d = new Date(System.currentTimeMillis()); d.setHours(d.getHours() - 1); String ago = p.format(d);
then string ago = "vor 1 Stunde"
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.