Vergleich der Stunden in java
Zunächst verzeihen Sie mein Englisch 🙁
Ich habe ein problem mit Stunden auf java. Sehen wir es uns an einem Beispiel:
DateFormat datos = new SimpleDateFormat ("hh:mm:ss");
Date ac, lim;
String actual,limit;
actual="18:01:23";
limit="00:16:23";
ac=datos.parse(actual);
lim=datos.parse(limit);
if(ac.compareTo(lim)==-1){.......
Ich brauche, um diesen Fall zu lösen, in dem limit ist schon nach Mitternacht und die eigentliche Stunde vor Mitternacht. Mein Programm sagt, dass die tatsächliche limit erreicht hat, und es ist nicht richtig, weil das Beispiel, es hat noch 6 Stunden fertig zu stellen.
Habe ich versucht es zu lösen mit der DateFormat-Klasse aber nicht sehen, in diesem Fall. Ich versuchte es mit der Zeit aus der Klasse auch, aber Ihre Methoden sind veraltet.
Wie kann ich dieses Problem lösen?
wenn Sie nicht geben Sie einen Tag, ist es normal, dass die tatsächliche ist, als nach der Grenze... der einzige Weg, das zu erreichen, was Sie wollen, ist zu spezifizieren, die Grenze ist der Tag nach dem eigentlichen (standardmäßig das Datum berücksichtigen, dass es der gleiche Tag)
ok.... also werde ich es ändern und verwenden Date-Klasse. Ich will hinzufügen, 1 Tag bei der Berechnung der Frist wenn es geht die Stunde der Nummer 23 zu 0. So wird es richtig sein. Danke
ok.... also werde ich es ändern und verwenden Date-Klasse. Ich will hinzufügen, 1 Tag bei der Berechnung der Frist wenn es geht die Stunde der Nummer 23 zu 0. So wird es richtig sein. Danke
InformationsquelleAutor user1297810 | 2012-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
HH
statthh
in IhremSimpleDateFormat
:hh
ist die 12-Stunden-Format (Stunden von 1 bis 12).HH
ist die 24-Stunden-Format (Stunden gehen von 0 bis 23).Aber außer, dass, es gibt andere Dinge, die falsch mit diesem. Klasse
Date
ist nicht sehr gut geeignet enthalten nur eine Zeit. Wenn Sie dies tun, es wird analysiert werden, wie 01-01-1970 mit der angegebenen Zeit. So 18:01:23 wird 01-01-1970, 18:01:23 00:16:23 wird 01-01-1970, 00:16:23. Sie wollte wohl vergleichen 18:01:23 00:16:23 der nächste Tag.Probieren Sie etwas wie dieses:
Die Bibliothek Joda Time ist eine beliebte Java-Datums-und Zeit-Bibliothek, die ist viel besser konzipiert als die standard-Java-Datums-und Kalender-API; betrachten Sie es, wenn Sie haben, arbeiten mit Datum und Uhrzeit in Java.
Mit Joda Zeit, die Sie dies tun könnte:
InformationsquelleAutor Jesper
Als quick-and-dirty-Lösung:
InformationsquelleAutor MichaBa