1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 只返回时分秒 HH:mm:ss

java 只返回时分秒 HH:mm:ss

时间:2019-11-30 14:37:52

相关推荐

java 只返回时分秒 HH:mm:ss

背景

前端让返回的时间格式 HH:mm:ss 举例:HH:mm:ss

实现思路

返回的字段使用 JsonSerialize, 指定自定义日期转换类将 Date 转换为 LocalDateTime格式化时间

代码

dto类

/*** 执行时间*/@JsonSerialize(using = DateToTimeSerializer.class)private Date executeTime;

DateToTimeSerializer类

/*** DateToTimeSerializer* @description 截取时间的 HH:mm:ss* @author daleyzou* @date 02月15日 2:23 下午*/public class DateToTimeSerializer extends JsonSerializer<Date> {@Overridepublic void serialize(Date date, JsonGenerator gen, SerializerProvider serializers) throws IOException {// 截取时间的 HH:mm:ssInstant instant = date.toInstant();ZoneId zoneId = ZoneId.of("+8");LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();String dateTimeStr = localDateTime.format(DateTimeFormatter.ofPattern("HH:mm:ss"));gen.writeString(dateTimeStr);}}

测试类

/*** DateTimeTest* @description 时间测试类* @author zoudaifa* @date 02月15日 2:50 下午*/public class DateTimeTest {@Testpublic void timeTest() throws ParseException {String dateStr = "-02-15 14:39:32";Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr);Instant instant = date.toInstant();ZoneId zoneId = ZoneId.of("+8");LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();String dateTimeStr = localDateTime.format(DateTimeFormatter.ofPattern("HH:mm:ss"));System.out.println(dateTimeStr);}}

后来发现的链接/questions/27247767/jackson-custom-date-serializer#

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。