前端的datetime-local类型的时间在后端转成TimeStamp格式

	前台使用的input标签的datetime-local类型往后台传时间,但是数据库使用的是TimeStamp格式,所以要经过转换。
	前台的标签:
<form action="${path}/manage/borrow/test" method="post">
    <input type="datetime-local" name="time">
    <input type="submit" value="提交">
</form>
	标签样式:

在这里插入图片描述

	datatime-local格式用String类型接收会是完整的,然后将中间的"T"替换掉,转成Date格式再转成TimeStamp格式。
	后端Controller的方法:
//test
    @PostMapping("/test")
    public void test(String time){
        System.out.println(time+"  前台传过来的时间");
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime localDateTime = LocalDateTime.parse(time.replaceAll("T", " ") + ":00", df);
        System.out.println(localDateTime+"   localDateTime格式的时间");
        Date date = Date.from( localDateTime.atZone( ZoneId.systemDefault()).toInstant());
        System.out.println(date+"  Date格式的时间(java.util的包)");
        Timestamp timestamp = new Timestamp(date.getTime());
        System.out.println(timestamp+"  Timestamp格式的时间(java.sql的包)");
    }
	输出的结果为:

在这里插入图片描述
如果有简单的方法,请在评论区留言,谢谢!

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值