SpringBoot日付変換
2148 ワード
SpringBoot日付変換
前提:リクエストパラメータのstringをdateに変換することと@RequestBodyリクエストを使用してjsonのstringをdateに変換することは2つの問題です.
1.入力パラメータ時にstringをDate 2に変換する.値を返すとdateがstringに変換されます
要求パラメータにstringをdateに変換するためにグローバルな変換器を使用すると問題を解決できますが、@RequestBodyのようなコミットには役に立たない``java
ローカル変換
@JsonDeserializeと@JsonSerializeを使用した別の方法のローカル変換
使用
参照先:https://blog.csdn.net/walkcode/article/details/78956559
グローバル変換は入出力に役立ちます.これは最良の方法で、要求パラメータとjsonに対して、入出力が役立ちます.
hhは12時間制,HHは24時間制である.24時間制を使用する場合はタイムゾーンを追加しなければなりません.そうしないと、現地時間と8時間差があります.MM/dd/yyyyy HH:mm:ssに変更した場合、タイムゾーンを追加しないのも正常です.注意:日付これは完全に一致しています.MM/dd/YYYYが間違っていると伝えられたら、後ろのHH:mm:ss aを付けなければなりません.
前提:リクエストパラメータのstringをdateに変換することと@RequestBodyリクエストを使用してjsonのstringをdateに変換することは2つの問題です.
1.入力パラメータ時にstringをDate 2に変換する.値を返すとdateがstringに変換されます
要求パラメータにstringをdateに変換するためにグローバルな変換器を使用すると問題を解決できますが、@RequestBodyのようなコミットには役に立たない``java
@Component
public class StringToDateConverter implements Converter {
private static final String dateFormat = "MM/dd/YYYY hh:mm:ss a";
@Override
public Date convert(String value) {
SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);
try {
return formatter.parse(value);
} catch (Exception e) {
throw new RuntimeException(String.format("parser %s to Date fail", value));
}
}
}
ローカル変換
@DatetimeFormat String Date, , 。
@JsonFormat(pattern="yyyy-MM-dd", timezone="GMT+8") Date String ,
@JsonDeserializeと@JsonSerializeを使用した別の方法のローカル変換
@Component
public class DateJsonDeserializer extends JsonDeserializer {
public static final SimpleDateFormat format=new SimpleDateFormat("MM/dd/YYYY");
@Override
public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
try {
return format.parse(jsonParser.getText());
} catch (ParseException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
使用
@JsonDeserialize(using = DateJsonDeserializer.class)
private Date anticipatedStartedDate;
参照先:https://blog.csdn.net/walkcode/article/details/78956559
グローバル変換は入出力に役立ちます.これは最良の方法で、要求パラメータとjsonに対して、入出力が役立ちます.
spring:
jackson:
date-format: MM/dd/YYYY HH:mm:ss
time-zone: GMT+8
hhは12時間制,HHは24時間制である.24時間制を使用する場合はタイムゾーンを追加しなければなりません.そうしないと、現地時間と8時間差があります.MM/dd/yyyyy HH:mm:ssに変更した場合、タイムゾーンを追加しないのも正常です.注意:日付これは完全に一致しています.MM/dd/YYYYが間違っていると伝えられたら、後ろのHH:mm:ss aを付けなければなりません.