joda-time使用心得,解决方法

12 篇文章 0 订阅
6 篇文章 0 订阅

joda-time使用心得

1.如何将JavaDate转换为JodaDateTime:

我们在使用joda-time的时候难免会跟dataObject类里面的JavaDate打交道,但是不转换还是用不了,这里提供了解决方案:

Date date = new Date();
DateTime dateTime = new DateTime(date);

相反,也可以反过来转换回去

Date dateNew = dateTime.toDate();

2.总不可能给前端返回去一个joda-time的JSON数据吧

由于jodatime里面有很多字段是我们前端不需要的,比如前端只需要个年月日时间,你给人家返回去时区等等各种不需要的信息,这里提供了解决方案

我们在返回前端的VO里面将时间设置为String类型而不是Datetime 类型


    private String postDate;

    private String wantDay;

然后我们使用DateTimeFormat.forPattern方法把Datetime类型转化为我们想要的类型,这里我们设置成这种格式,时间出来就是"2019-09-05 21:01:17",

 listsVO.setPostDate(listsModel.getPostDate().toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")));
 
 listsVO.setWantDay(listsModel.getWantDay().toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")));

这里返回的JSON数据就是这种String类型的了,也便于我们看时间了

        "postDate": "2019-09-05 21:01:17",
        "wantDay": "2019-09-07 21:01:25",

3.Date类型从postman里传入的应该是什么值

在这里插入图片描述
一般来说是按照这样的格式传入进去的

4.joda-time一些特性

jodatime封装了一些方法便于时间的处理,下图第一行我获得了一个传入值的当天0点时间。
在第二行用了isBefore()和isAfter()方法,去比较时间,返回的是一个布尔类型的值,有了这些方法,我们能快速比较时间和获得一些特殊时间~

 1.DateTime zeroDate=new DateTime(makeDate).withMillisOfDay(0);
 2.if(listsModel.getWantDay().isBefore(new DateTime(makeDate))&&listsModel.getWantDay().isAfter(zeroDate)){...}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值