프런트 엔드 요청 인터페이스 날짜에 해당하는 시간대 문제

프론트 엔드는 시간 값 2099-01-01T00:00:00+08:00을 springboot에서 제공하는 restful 인터페이스로 전송하고 mysql 데이터베이스에 저장합니다.

2098-12-31 16:00:00에 데이터베이스가 저장되어 있는 것으로 확인되며 이때 mybatis의 jdbctype은 지정하지 않고 기본 타임스탬프를 사용한다.

시간대가 틀려요 리눅스 시스템 확인 후 mysql 자체의 시간대는 문제가 없으니 설정상의 문제임에 틀림없습니다.

springboot에서 사용하는 Date 객체는 출력값을 직접 받아서 출력하는데 시간은 문제가 없으니 데이터베이스를 작성하는 부분에 있어야 합니다.

mybatis 구성에는 문제가 없으며, 데이터베이스 url에 접속하는 타임존 문제인 것으로 확인됨

serverTimezone=UTC가 serverTimezone=GMT%2B8
로 변경됨 GMT+8을 사용하지 마십시오. 더하기 기호에 문제가 있습니다.

테스트를 다시 시작하면 데이터베이스에 기록되는 내용이 예상됩니다.


읽기 외에 프런트 엔드로 반환되는 것은 2019-06-04T02:51:31.000+0000이며 이 역시 East Eighth District로 변환해야 합니다.

데이터베이스에서 위의 읽기가 설정되었으므로 문제가 없을 것이므로 객체가 json으로 변환될 때 springboot에 있어야 합니다.

spring.jackson.time-zone 매개변수는 GMT+8로 설정되어 있습니다.

추천

출처blog.csdn.net/small_tu/article/details/90788168