>Java >java지도 시간 >SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

王林
王林앞으로
2023-05-12 23:16:041354검색

머리말

개발 중에 데이터베이스에서 날짜 유형을 쿼리할 때 다음과 같은 상황과 같이 원하는 시간 형식이 아닌 경우가 많습니다.

제 데이터베이스에서는 이러한 날짜 관련 필드가 데이터 시간 형식으로 설정되어 있습니다. :

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

데이터 유형은 다음과 같습니다.

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

엔티티는 다음과 같이 구성됩니다.

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

기본 쿼리의 결과는 다음과 같습니다.

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

Help, what kind 형식은 이렇습니다. 전혀 제가 아닙니다. 원하는 연, 월, 일, 시, 분, 초입니다.

사실 이 문제를 해결하는 것은 매우 간단합니다. 단지 시간 형식이 잘못되었다는 것뿐입니다.

문제 해결

1 글로벌 설정(권장)

일반적으로 편의성과 통일성을 위해 전역 처리 날짜 형식을 설정하고 구성 파일에서 구성할 수 있습니다

애플리케이션 구성 파일에는 속성과 yaml의 두 가지 형식이 있다고 생각하여 다양한 형식에 필요한 코드를 준비했습니다.

속성 형식

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

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

yaml 형식

물론 위 내용은 yaml 형식을 사용하는 경우 다음 구성을 사용할 수 있습니다.

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

이 구성 항목을 추가한 후 다음을 수행할 수 있습니다. 서비스를 다시 시작해 보세요. 이제 인터페이스를 다시 방문해 보세요.

원하는 시간 형식임을 알 수 있지만, 검색된 시간은 데이터베이스보다 8시간 더 깁니다.

시간대를 추가하면 발생하는 문제입니다. 시간대 구성 항목은 원본에 있습니다. 어떤 시간은 +8시간이므로 이 시간대 구성 항목은 개인 필요에 따라 구성되거나 구성되지 않을 수 있습니다

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

2 로컬 설정(권장하지 않음)

전역 구성이 매우 인기가 있지만 때로는 전 세계가 통일된 형식을 유지하도록 강요할 수 없으며 개별 항목에 대해서만 시간 처리를 수행합니다

이때 시연의 편의를 위해 로컬 설정의 역할이 반영됩니다. 전역 설정을 주석 처리합니다.

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

Introduce pom

부분 설정에는 fastjson 종속성을 사용해야 하므로 종속성을 다운로드해야 합니다.

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

주석 추가

시간 형식이 필요한 필드에 주석 추가 :

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

두 개의 매개변수가 있습니다:

1: 패턴: 시간 형식
2: 시간대: 시간대

원리는 전역 설정의 두 매개변수와 동일합니다

여기서는 주석이 달린 하나를 꺼낼 것으로 추정합니다. 그리고 비교를 위한 주석이 없는 시간 속성 하나:

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

프로젝트를 다시 시작하고 인터페이스를 테스트하고, 두 날짜 형식을 비교합니다.

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

물론 전역 구성과 마찬가지로 주석의 매개변수도 다음에 따라 유연하게 선택됩니다. 여러분의 필요 사항:

예를 들어, 저는 여기에 시간대를 원하지 않고 연도, 월, 일 형식을 원합니다. 그런 다음 직접 변경하면 됩니다.

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

물론 결과는 어떻게 구성하느냐에 달려 있습니다. :

SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법

위 내용은 SpringBoot가 전역 및 지역 시간 형식 설정을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제