您的位置:首页 > 编程语言 > Java开发

判断库中为字符串格式的时间是否为最近三个月(Java)

2018-03-23 19:59 357 查看
今天分享一个问题,就是标题中提到的问题,今天在调用一个接口的时候,发现调用到的数据的时间格式为字符串类型,我有点蒙圈,于是,我就百度解决了这个问题,同时在这里记录一下,为了之后不再蒙圈;;;

首先需要把库中的数据拿到做处理,比如 “2017-12-12”

String str = "2017-12-12";
String[] strs = str.split("-"); //2017 12 12
//将字符串数组转化为整型数组
Integer[] intarrs = new Integer[strs.length];
for(int i = 0;i<strs.length;i++){
intarrs [i] = Integer.valueOf(strs[i]);
}

Calendar instance1 = Calender.getInstance();
instance1.set(intarrs[0],intarrs[1],intarrs[2]);


再次我们处理前三个月的日期

Calender instance2 = Calendar.getInstance();
instance2.add(Calender.MONTH,-3);
int year = instance2.get(Calendar.YEAR);
int month= instance2.get(Calendar.MONTH)+1;
int date = instance2.get(Calendar.DATE);
instance2.set(year,month,date);


最后我们处理当前日期

Calender instance3 = Calendar.getInstance();
int nowyear = instance3.get(Calendar.YEAR);
int nowmonth= instance3.get(Calendar.MONTH)+1;
int nowdate = instance3.get(Calendar.DATE);
instance3.set(nowyear,nowmonth,nowdate);


我们来验证一下结果

//代表库中的日期在前三个月之后
System.out.printIn(instance1.after(instance2)); true
//代表库中的日期在当前日期之前
System.out.printIn(instance1.before(instance3));  true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: