练习:将从表读出来的时间戳除以1000(java读时间戳会多出3个000)用jackson包 实现
JAVA 实现 时间 练习 1000 jackson 000
2023-09-14 08:57:51 时间
练习:将从表读出来的时间戳除以1000(java读时间戳会多出3个000)jackson包 实现
entity
@Entity @DynamicUpdate //自动更新日期 @Data //get/set public class OrderDetail { @Id private String detailId; /**订单id**/ private String orderId; /**商品id**/ private String productId; /**商品名**/ private String productName; /**商品价格**/ private BigDecimal productPrice; /**购票数量**/ private Integer productQuantity; /**商品图片**/ private String productIcon; /**时间戳**/ private Date createTimestamp; /**时间戳**/ private Date updateTimestamp; }
java读出的数据格式,时间戳会精确到毫秒,多出3个000
{ "statusCode": 0, "message": "返回成功", "data": [{ "orderId": "1542785381425923730", "buyerName": "王五", "buyerPhone": "15605852476", "buyerAddr": "北京王府井", "buyerOpenid": "110112", "buyerAmount": 4.40, "orderStatus": 0, "payStatus": 0, "createTimestamp": 1542794276000, "updateTimestamp": 1542794276000, "orderDetailList": null }] }
解决方法:
1.继承com.fasterxml.jackson.databind.JsonSerializer;的类,并复写:serialize(T.....)方法
public class DateToTimestamp extends JsonSerializer<Date> { @Override public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { jsonGenerator.writeNumber(date.getTime() / 1000); } }
2.在实体类上用上新建的 DateToTimestamp 类的注解
@Entity @DynamicUpdate //自动更新日期 @Data //get/set public class OrderMaster { @Id private String orderId; /**买家名字**/ private String buyerName; /**买家手机**/ private String buyerPhone; /**买家地址**/ private String buyerAddr; /**用户openid**/ private String buyerOpenid; /**订单金额**/ private BigDecimal buyerAmount; /**订单状态, 默认状态0新订单**/ private Integer orderStatus = OrderStatusEnum.NEW.getCode(); /**支付状态, 默认状态0等待支付**/ private Integer payStatus = PayStatusEnum.WAIT.getCode(); /** * 此注解表示时间戳除以1000 */ @JsonSerialize(using = DateToTimestamp.class) private Date createTimestamp; /** * 此注解表示时间戳除以1000 */ @JsonSerialize(using = DateToTimestamp.class) private Date updateTimestamp; }
相关文章
- 【Java】java扩展机制SPI 实现
- java实现遍历树形菜单方法——index.jsp实现
- Java实现 LeetCode 812 最大三角形面积 (暴力)
- Java实现洛谷 P1873 砍树(StreamTokenizer+IO+二分)
- Java实现 LeetCode 629 K个逆序对数组(动态规划+数学)
- Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素 - 允许重复
- Java实现 LeetCode 380 常数时间插入、删除和获取随机元素
- Java实现 LeetCode 347 前 K 个高频元素
- Java实现 LeetCode 300 最长上升子序列
- java实现 洛谷 P1425 小鱼的游泳时间
- java实现 洛谷 P1425 小鱼的游泳时间
- Java实现 蓝桥杯 算法提高金属采集
- java实现 蓝桥杯 算法训练 Password Suspects
- Java实现二分查找(折半查找)
- Java实现 蓝桥杯VIP 算法提高 淘淘的名单
- Java实现 蓝桥杯VIP 算法提高 计算时间
- Java实现 蓝桥杯VIP 算法提高 计算时间
- Java实现 蓝桥杯VIP 算法提高 计算时间
- Java实现 蓝桥杯VIP 算法提高 产生数
- Java实现 蓝桥杯VIP 算法训练 幂方分解
- Java实现 蓝桥杯VIP 基础练习 时间转换
- Java实现 蓝桥杯VIP 基础练习 时间转换
- java sort排序原理
- 使用Java标准的java.util.EventListener实现观察者-发布者设计模式
- java实现10s时间的输出和日期格式
- 【Java用法】java 8两个List集合取交集、并集、差集、去重并集
- JAVA语言之Java 中不同的并行实现的性能比较