Heim  >  Artikel  >  Java  >  So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

王林
王林nach vorne
2023-05-12 23:16:041326Durchsuche

Vorwort

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 :

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

Die Datentypen sind wie folgt:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

Die Entität ist wie folgt konfiguriert:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

Dann ist das Ergebnis der Standardabfrage so:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

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.

Das Problem lösen

1 Globale Einstellungen (empfohlen)

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

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

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.

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

2 Lokale Einstellungen (nicht empfohlen)

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:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

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:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

Starten Sie das Projekt neu und testen Sie die Schnittstelle. Vergleichen Sie die beiden Datumsformate.

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

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:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

Das Ergebnis ist natürlich, wie Sie es konfigurieren:

So implementiert SpringBoot das Festlegen der globalen und lokalen Zeitformatierung

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen