Ausgabedatum in Java im erweiterten ISO 8601-Format

Einführung

Beim Erstellen einer RESTful-API mit Spring Boot wollte ich den Datumstyp der Antwort auf das erweiterte Format ISO 8601 formatieren und zurückgeben. Es hat lange gedauert, das Format zu finden, daher werde ich es als Memorandum belassen.

Format

Es kann mit yyyy-MM-dd'T'HH: mm: ssXXX ausgegeben werden.

Test.java


import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
        public static void main(String[] args) {
                Date d = new Date();
                SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
                System.out.println(sf.format(d));
        }
}
2018-12-19T15:46:06+09:00

Wird als Antwort für Spring Boot verwendet

Wenn Sie Spring Boot verwenden, sollten Sie ** Jackson ** als JSON-Konvertierung der Antwort verwenden. Sie können das Standardformat angeben, indem Sie die folgenden Einstellungen zu "application.yml" hinzufügen.

application.yml


spring:
  jackson:
      date-format: "yyyy-MM-dd'T'HH:mm:ssXXX"
      time-zone: "Asia/Tokyo"

Jackson wird ** GMT sein, wenn Sie keine Zeitzone ** angeben. Grundsätzlich denke ich, dass es besser ist, die Zeitzone anzugeben.

Wenn Sie das Format anstelle des Standardformats explizit konvertieren möchten, schreiben Sie wie folgt.

Response.java


import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;

public class Response {
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssXXX", timezone = "Asia/Tokyo")
    private Date createdAt;

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }
}

Am Ende

Das Format ist für jede Sprache leicht unterschiedlich und macht überraschend süchtig. Ist nicht alles vereint?

Recommended Posts

Ausgabedatum in Java im erweiterten ISO 8601-Format
Formatieren Sie XML in Java
Datumsmanipulation in Java 8
Aktuelles Datum in Java anzeigen
Datumsverarbeitung in Java (LocalDate: Initialisierung)
Protokollausgabe in Datei in Java
Studieren Sie Java 8 (Datums-API im Paket java.time)
Spring Boot-Protokoll im JSON-Format ausgeben
Versuchen Sie es mit der JSON-Format-API in Java
So erhalten Sie das Datum mit Java
Java, das eine Datei im Vmg-Format im EML-Format ausgibt
[Java] Ausgabe, Variablen
Google Java-Format
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Partisierung in Java
Versuchen Sie, etwa 30 Zeilen in Java zu kratzen (CSV-Ausgabe)
Änderungen in Java 11
Janken in Java
Ich habe versucht, neunundneunzig in Java auszugeben
Umfangsrate in Java
[Java] In der Ausgabe wird etwas als "-0.0" angezeigt
FizzBuzz in Java
Vergleichen Sie die PDF-Ausgabe in Java für Snapshot-Tests
Format der Protokollausgabe von Tomcat selbst in Tomcat 8
Wie kann ich IBM Mainframe-Dateien in Java eingeben / ausgeben?
[Java] Hinweise zur Typinferenz in Java 10
Ausgabe true mit if (a == 1 && a == 2 && a == 3) in Java (Invisible Identifier)
Ich habe versucht, die erweiterte for-Anweisung in Java zu verwenden
Informationen zur Java-Protokollausgabe
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
[Java] Datums- / Zeitoperationen
[Java] für Anweisung / erweitert für Anweisung
Kommentare in der Java-Quelle
Azure funktioniert in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
Java Gold misst: Format
POST JSON in Java
Fehler in Java ausdrücken
Ausgabedreieck in Ruby