加载中...

AliveSevenの博客

Java返回时间带T格式化方案

发表于: 2023-05-20 |

更新于: 2023-05-20 |

字数统计: 983 |

阅读量: 0

前言:除了标题的问题,Redis在存储LocalDateTime的时候也会有相关的问题,解决方案其实也很简单,在相对应的实体类,对LocalDateTime类型加几条注解即可

解决方案

通过LocalDateTime的源码可以发现,问题出现的原因:

java 复制代码
@Override
public String toString() {
	return date.toString() + 'T' + time.toString();
}

这个问题可以前端处理,也可以后端处理,前端处理就是可以通过格式化的方式去掉T

而后端处理的方式,最简单就是加注解

java 复制代码
    /**
     * 时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime time;
  • 如果这个时候,后台返回还有T的话,可能是引用了fastJson的api,需要加多一条注解,@JSONField
  • 同样适用于Redis保存
  • 所以最好用下面的这个
java 复制代码
    import com.fasterxml.jackson.annotation.JsonFormat;
    import com.alibaba.fastjson.annotation.JSONField;
    import org.springframework.format.annotation.DateTimeFormat;
    import java.time.LocalDateTime;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
AliveSeven
一个有趣的博客
文章
0
标签
0
分类
0
目录
©2021 - 2025 By AliveSeven
欢迎来到我的博客,谢谢你能在茫茫人海中发现我