SpringBoot-日期格式数据传输(前台展示和后台互传)

一. 前台datetimepicker:

   <!--引入日期插件--> 
    <script type="text/javascript" src="/asserts/lib/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js"></script>
    <script type="text/javascript" src="/asserts/lib/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
    <script type="text/javascript" src="/asserts/lib/bootstrap-daterangepicker/date.js"></script>
    <script type="text/javascript" src="/asserts/lib/bootstrap-daterangepicker/daterangepicker.js"></script>
 
    <script type="text/javascript" src="/asserts/lib/bootstrap-daterangepicker/moment.min.js"></script>
    <script type="text/javascript" src="/asserts/lib/bootstrap-timepicker/js/bootstrap-timepicker.js"></script>
    <script src="/asserts/lib/advanced-form-components.js"></script>

1. 在用Bootsrapt写一些前台,使用datetimepicker创建日期,参照https://www.bootcss.com/p/bootstrap-datetimepicker/

 <div class="col-md-8">
     <div class="input-group input-large" >
     <input type="text" id="datetimepicker1" class="form-control dpd1" name="startDate" data-date-format="yyyy-mm-dd">
     <span class="input-group-addon">到</span>
     <input type="text" id="datetimepicker2" class="form-control dpd2" name="planFinishDate" data-date-format="yyyy-mm-dd">
     </div>
      <span class="help-block">请选择开始时间和结束工日</span>
</div>
2. 效果如下:

二.给bean中的字段添加

@DateTimeFormat(pattern="yyyy-MM-dd"),用于将前端页面String转换为date类型,

@JSONField(format = "yyyy-MM-dd ")注解,用于将数据库的date类型字段显示到前台页面

    @JSONField(format = "yyyy-MM-dd ")   //后台转换到页面显示
    @DateTimeFormat(pattern="yyyy-MM-dd")  //前端页面转换到Date字段
    private Date startDate;   // 开始日期


    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date planFinishDate; // 计划完成日期

三. 后台:

1.mysql数据库格式:表字段类型为datetime类型

2. Java中有两个Date类,一个是java.util.Date通常情况下用它获取当前时间或构造时间,另一个是java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分。

本文使用的是util.Date:  import java.util.Date;

3. bean类中使用JSONField对日期类型进行注解  @JSONField(format = "yyyy-MM-dd HH:mm:ss"),这样将后台数据库传递过来的数据格式将转换为yyyy-MM-dd HH:mm:ss

public class Member{
    private Integer id;
    private String  name;
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date  createDate;
}

注意:

(a) 不能使用@JsonFormat格式进行注解,否则后台用JSONObject包装一下发送json数据时,@JsonFormat注解会失效

(b) 如果显示日期,则使用: @JSONField(format = "yyyy-MM-dd")

4. 后台新增

    //新增成员
    @ResponseBody
    @RequestMapping("/addIPrecord")
    public String add(Member member)
    {
       
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd" );
        Date d= new Date();
        String str = sdf.format(d);
        member.setName(“鲸鱼姐”);
        member.setCreateTime(d);
      
        int state=MemberService.insert(member);
        JSONObject result = new JSONObject();
        if(state==1)
        {   result.put("state", "success");
        }

        else
        {    result.put("state", "fail");}

        return result.toJSONString();

    }

4.Controller类中使用JSONObject转换成json数据

 @ResponseBody
    @RequestMapping("Users")
    public  String pageInfo() {
        JSONObject result = new JSONObject();
         List<Members> membersList=MemberService.getUsers();
        int total = (int)membersList.size();
        result.put("rows",rows);
        result.put("total",total);
        System.out.println(result.toJSONString());
        return result.toJSONString();
    }

注意,json数据依赖添加如下

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.28</version>
		</dependency>

经过以上处理,时间显示正确,如下所示:

5. 日期数据处理

(1)获取当前日期

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );
Date d= new Date();
String str = sdf.format(d);
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值