Wenn wir in der Entwicklung den Datumstyp in der Datenbank abfragen, liegt dieser oft nicht im gewünschten Zeitformat vor, wie zum Beispiel in der folgenden Situation:
In meiner Datenbank sind diese datumsbezogenen Felder auf das Datenzeitformat eingestellt :
Die Datentypen sind wie folgt:
Die Entität ist wie folgt konfiguriert:
Dann ist das Ergebnis der Standardabfrage so:
Hilfe, welche Art Das Format ist dieses, es liegt überhaupt nicht an mir. Das gewünschte Jahr, Monat, Tag, Stunde, Minute und Sekunde.
Tatsächlich ist es sehr einfach, dieses Problem zu lösen. Es ist nur so, dass das Zeitformat falsch ist.
Im Allgemeinen können wir der Einfachheit halber und zur Vereinheitlichung die globale Formatierung des Verarbeitungsdatums einrichten und in der Konfigurationsdatei konfigurieren.
Da die Anwendungskonfigurationsdatei zwei Formate hat: Eigenschaften und Yaml, habe ich die für verschiedene Formate erforderlichen Codes vorbereitet.
Eigenschaftenformat
# 设置全局的日期格式为年月日时分秒 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss # 世界标准时间,为了方式时差,需要+8小时 spring.jackson.time-zone=GMT+8
Yaml-Format
Natürlich ist das oben genannte Eigenschaftenformat, dann können Sie die folgende Konfiguration verwenden:
spring jackson: date-format: yyyy-MM-dd HH:mm:ss #设置全局的日期格式为年月日时分秒 time-zone: GMT+8 #世界标准时间,为了方式时差,需要+8小时
Nach dem Hinzufügen dieses Konfigurationselements können Sie Starten Sie den Dienst neu. Besuchen Sie nun die Benutzeroberfläche erneut:
Sie können feststellen, dass es sich um das gewünschte Zeitformat handelt, aber die gefundene Zeit ist 8 Stunden länger als die Datenbank.
Dies wird durch das Hinzufügen der Zeitzone verursacht Zeitzonen-Konfigurationselement, es wird im Original sein. Einige Zeiten betragen +8 Stunden, daher hängt dieses Zeitzonen-Konfigurationselement von den persönlichen Bedürfnissen ab. Es kann konfiguriert werden oder nicht.
Obwohl die globale Konfiguration sehr beliebt ist, können wir manchmal nicht die ganze Welt dazu zwingen, ein einheitliches Format beizubehalten, und die Zeitverarbeitung nur für einzelne durchführen.
Zu diesem Zeitpunkt wird die Rolle lokaler Einstellungen reflektiert. Ich kommentiere die globalen Einstellungen aus:
Pom einführen
Teileinstellungen erfordern eine Fastjson-Abhängigkeit, daher müssen Sie die Abhängigkeit herunterladen
<!--fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58</version> </dependency>
Anmerkungen hinzufügen
Anmerkungen zu den Feldern hinzufügen, die zeitlich formatiert werden müssen:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
Es hat zwei Parameter:
1: Muster: Zeitformat
2: Zeitzone: Die Zeitzone
Prinzip ist das gleiche wie die beiden Parameter der globalen Einstellung
Hier schätze ich, dass ich einen mit Anmerkungen und einen herausnehmen werde Nicht kommentiertes Zeitattribut zum Vergleich:
Starten Sie das Projekt neu und testen Sie die Schnittstelle. Vergleichen Sie die beiden Datumsformate.
Natürlich können auch die Parameter in den Anmerkungen wie bei der globalen Konfiguration flexibel nach Ihren Wünschen ausgewählt werden braucht:
Zum Beispiel möchte ich hier nicht die Zeitzone, sondern das Format für Jahr, Monat und Tag. Dann ändern Sie es einfach direkt:
Das Ergebnis ist natürlich, wie Sie es konfigurieren:
Das obige ist der detaillierte Inhalt vonSo implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!