时间格式化方式
- @JsonFromat方式
- 全局配置方式
- 格式化工具方式
@JsonFromat方式
前端传参或后端响应 yyyy-MM-dd HH:mm:ss 格式,直接属性字段上加注解 @JsonFromat
@JsonFromat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date finishTime;
全局配置方式
新增全局配置类,全局使用日期时间格式化。此种方式也支持单独属性加 @JsonFromat注解。
@Slf4j
@JsonComponent
public class JacksonConfig {@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")private String pattern;@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilder() {return builder -> {TimeZone tz = TimeZone.getTimeZone("UTC");DateFormat df = new SimpleDateFormat(pattern);df.setTimeZone(tz);builder.failOnEmptyBeans(false).failOnUnknownProperties(false).featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).dateFormat(df);};}@Beanpublic LocalDateTimeSerializer localDateTimeDeserializer() {return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));}@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());}}
格式化工具方式
此种方式比较陋,后端自己写格式化工具处理请求响应,这里就不在陈述,可自行搜索。
Date date = new Date(); // 获取当前日期和时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式String formattedDate = sdf.format(date); // 将日期对象按照指定格式转为字符串SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式Date date = sdf.parse(formattedDate); // 将字符串按照指定格式转为日期对象