Wie zu entfernen Millisekunden von LocalTime in java 8
Mithilfe der java.Zeit Rahmen, ich möchte die print-Zeit im format hh:mm:ss
, aber LocalTime.now()
gibt die Zeit im format hh:mm:ss,nnn
. Ich habe versucht, zu verwenden DateTimeFormatter
:
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_TIME;
LocalTime time = LocalTime.now();
String f = formatter.format(time);
System.out.println(f);
Das Ergebnis:
22:53:51.894
Wie kann ich Sie entfernen Millisekunden aus der Zeit?
Verwenden Sie einen anderen formatter?
es gibt keine Nanosekunden in deinem Beispiel, und selbst WENN es eine solche Präzision gezeigt : in den meisten Betriebssystemen Zeit-Genauigkeiten von unter 1ms keinen Sinn machen / sind buchstäblich unmöglich, alles, was Sie bekommen, ist etwas Rauschen, in zahlen ausgedrückt. Sie können die ANZAHL PROZESSOR-TICKS, aber ...
es gibt keine Nanosekunden in deinem Beispiel, und selbst WENN es eine solche Präzision gezeigt : in den meisten Betriebssystemen Zeit-Genauigkeiten von unter 1ms keinen Sinn machen / sind buchstäblich unmöglich, alles, was Sie bekommen, ist etwas Rauschen, in zahlen ausgedrückt. Sie können die ANZAHL PROZESSOR-TICKS, aber ...
InformationsquelleAutor Nikolas | 2014-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie einfach die
DateTimeFormatter
ausdrücklich:(Ich bevorzuge die explizit die US-amerikanischen Gebietsschema, um deutlich zu machen, dass ich nicht wollen, etwas aus dem Standard-format der locale.)
InformationsquelleAutor Jon Skeet
Edit: ich sollte hinzufügen, dass diese Nanosekunden, nicht Millisekunden.
Ich empfinde diese Antworten nicht wirklich eine Antwort auf die Frage mit dem Java 8 SE Datum-und Zeit-API als gedacht. Ich glaube, die truncatedTo Methode ist hier die Lösung.
Ausgabe:
Alternativ, wenn über Zeitzonen:
Ausgabe:
InformationsquelleAutor demos74dx
geschnitten, um Minuten:
geschnitten, um Sekunden:
Beispiel:
Ausgänge
15:07:25
ZonedDateTime
.Dies sollte die akzeptierte Antwort! Keine Notwendigkeit, zu definieren, Ihre eigenen formatter.
InformationsquelleAutor Mike_vin
Verwenden Sie diese in Ihre erste Linie
InformationsquelleAutor Justin
Versuchen, definierte Muster hier: http://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
Beispiel:
Ah, ok, das nächste mal werde ich besser machen 🙂
Nichts hindert Sie besser jetzt 😉
InformationsquelleAutor dpassy
Damit kann man es einfach mit regex auf den string:
Diese löscht (durch ersetzen mit Leerzeichen) den letzten Punkt und alles nach.
warum ist es ein "hack"? Es ist ein Formatierung problem mit der Formatierung Lösung. In gewisser Weise ist es überlegener to schreiben Sie Ihre eigenen format-Muster, weil Sie nicht brauchen, wissen nichts über das Muster, oder wie schreibt man für diese Arbeit.
InformationsquelleAutor Bohemian