Wie lange Wert, um den Kalender?
Kalender die add-Methode in Java akzeptiert eine ganze Zahl als Eingabe
int secs = 3; cal.hinzufügen(Kalender).ZWEITE, Sekunden);
Aber was ist, wenn die Sekunden sind Lang.
long secs = 3
Es gibt durchaus ein paar Möglichkeiten, wie das hinzufügen der Sekunden iterative, aber was sind die anderen Optionen?
Wow, 10 Minuten später, bang, 4 Antworten. Danke!
InformationsquelleAutor Strudel | 2010-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn der gespeicherte Wert in
long sec
ist weniger oder gleich dannInteger.MAX_VALUE
Sie werfen kann, umint
:Wenn der Wert kleiner oder gleich
Long.MAX_VALUE /1000
dann können Sie konvertieren, die die Sekunden bis Millisekunden, und verwenden einen anderen Ansatz:InformationsquelleAutor Andreas_D
Wenn die Sekunden' long-Wert ist nicht zu groß, um in eine Ganzzahl passt, cast.
Aber ich würde dringend empfehlen, Sie zu verwenden joda time statt der java-Kalender-API.
InformationsquelleAutor jvdneste
Konvertieren Sie die Sekunden, zum Beispiel, Tage durch Division durch 86400, fügen Sie dann die Tage und die verbleibenden Sekunden. Sie müssen, um diese intelligent vor, da auch nach der Division durch 86400, kann sich das Ergebnis größer als ein int.
Andere Möglichkeit ist das konvertieren der Kalender Millisekunden mit getMillisOf(), fügen Sie den Wert, den Sie möchten, dann legen Sie es mit setTimeInMillis(). Dies ist einfacher und mit sehr wenig Risiko einen Fehler zu machen, denken Sie einfach daran, konvertieren Sie Ihre Sekunden bis Millisekunden.
InformationsquelleAutor Oren Shalev
Afaik der Kalender speichert die Werte als Ganzzahlen intern, so dass es keine Möglichkeit gibt, passen lange hinein. Korrigieren Sie mich, wenn im falschen, aber das ist das, was ich gelesen Java-Kalender. Sollten Sie konvertieren Sie Ihre Sekunden bis zu Tagen oder so, um zu bekommen, was Sie wollen.
InformationsquelleAutor InsertNickHere
wenn Ihre Zahl groß ist,
eine Idee ist, dass Sie es tun im SCHLEPPTAU TIME add()
daher
InformationsquelleAutor Mohammad Roshani