返回当前格式的时间没有错误,但是不符合中国人的阅读习惯
解决:
方案一:JsonFormat 解决后端 传到 前端格式问题
依赖:
XML
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
java
可以在相应的类的属性上使用 @JsonFormat 注解:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date billtime;
引入以上的pmaven依赖之后,就可以在实体类属性上面使用@JsonFormat注解了,要注意的是,它只会在声明返回类型为json时,比如使用@ResponseBody返回json数据的时候,才会返回格式化的yyyy-MM-dd HH:mm:ss时间,如果直接使用System.out.println()输出的话,仍然是类似"Fri Dec 01 21:05:20 CST 2017"这样的时间样式。
方案二:
如果是spring项目,
@DateTimeFormat是spring的注解,spring工程下不在需要额外引入其他依赖。
由于客户端传给服务端的时间参数是字符串类型,如果直接使用java.util.Date
下的Date接受的话,会报400的异常(400异常表示服务器不处理该请求,多半是传入的参数问题)
java
@DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss")
方案三:
如果是 Spring Boot 项目,也可以在 application.yml 文件中指定:
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8