Rumah  >  Artikel  >  Java  >  Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

王林
王林ke hadapan
2023-05-12 23:16:041278semak imbas

Kata Pengantar

Dalam pembangunan, apabila kita menanyakan jenis tarikh dalam pangkalan data, format masa selalunya bukan format masa yang kita mahu, seperti situasi berikut:

Tarikh ini adalah berkaitan dalam pangkalan data saya Medan semuanya ditetapkan kepada format masa data:

Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Jenis data adalah seperti berikut:

Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Entiti dikonfigurasikan seperti ini:

Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Kemudian hasil pertanyaan lalai adalah seperti ini:

Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Bantuan, format macam mana ni, bukan saya langsung Tahun, bulan, hari, jam, minit dan saat yang diingini.

Sebenarnya, ia adalah sangat mudah untuk menyelesaikan masalah ini. Cuma format masanya salah. Mari selesaikan masalah ini melalui tetapan global dan tetapan setempat >

1 Tetapan global (disyorkan)

Secara umumnya, untuk kemudahan dan keseragaman, kami boleh menyediakan pemformatan tarikh pemprosesan global dan mengkonfigurasinya dalam fail konfigurasi

Fikirkan konfigurasi aplikasi fail sebagai mempunyai sifat dan Terdapat dua format yaml Saya telah menyediakan kod yang diperlukan untuk format yang berbeza masing-masing.

format sifat

# 设置全局的日期格式为年月日时分秒
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
# 世界标准时间,为了方式时差,需要+8小时
spring.jackson.time-zone=GMT+8

format yamlBagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Sudah tentu, di atas adalah format sifat, jika anda menggunakan format yaml, maka anda boleh Gunakan konfigurasi berikut:

spring 
  jackson: 
    date-format: yyyy-MM-dd HH:mm:ss #设置全局的日期格式为年月日时分秒
    time-zone: GMT+8 #世界标准时间,为了方式时差,需要+8小时

Selepas menambah item konfigurasi ini, anda boleh memulakan semula perkhidmatan Akses antara muka sekali lagi:

Anda boleh mendapati bahawa ia adalah format masa yang kami mahu, tetapi. masa ditemui. Ia adalah 8 jam lebih lama daripada pangkalan data

Ini disebabkan oleh penambahan zon waktu Jika item konfigurasi zon waktu ditambahkan, ia akan menambah 8 jam kepada masa asal, jadi kali ini item konfigurasi zon boleh dikonfigurasikan bergantung pada keperluan peribadi Anda juga boleh tidak mengkonfigurasi

2 Tetapan setempat (tidak disyorkan)Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Walaupun konfigurasi global adalah. sangat bagus, kadang-kadang kita tidak boleh memaksa format global bersatu, hanya melakukan pemprosesan masa pada yang individu

Pada masa ini, peranan tetapan tempatan dicerminkan untuk kemudahan demonstrasi, saya mengulas tetapan global:

Memperkenalkan pomBagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Tetapan setempat perlu menggunakan kebergantungan fastjson, jadi anda perlu memuat turun kebergantungan

 <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.58</version>
        </dependency>

Tambah anotasi

Tambah pada medan yang perlu diformatkan masa Nota:

 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

Ia mempunyai dua parameter:

1: corak: format masa

2: zon waktu: masa zon

Dua parameter prinsip dan tetapan global adalah Sama

Di sini saya menganggarkan bahawa saya akan mengeluarkan satu atribut masa beranotasi dan satu tidak bernotasi untuk perbandingan:

Mulakan semula projek, uji antara muka dan bandingkan Dua format tarikh Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Sudah tentu, seperti konfigurasi global, parameter dalam anotasi juga boleh dipilih secara fleksibel mengikut keperluan anda sendiri: Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Sebagai contoh, saya tidak mahu zon waktu di sini, dan anda mahu format tahun, bulan dan hari, kemudian tukar terus:

Hasilnya sudah tentu cara anda mengkonfigurasinya: Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan

Atas ialah kandungan terperinci Bagaimana SpringBoot melaksanakan tetapan pemformatan masa global dan tempatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam