博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java时间工具 判断时间大于一个月,小于一年,时间必须以月为单位分割(欢迎测试)...
阅读量:6902 次
发布时间:2019-06-27

本文共 3753 字,大约阅读时间需要 12 分钟。

1 package test;  2   3 import java.io.UnsupportedEncodingException;  4 import java.text.ParseException;  5 import java.text.SimpleDateFormat;  6 import java.util.Base64;  7 import java.util.Calendar;  8 import java.util.Date;  9  10 public class Test { 11     public static void main(String[] args) throws UnsupportedEncodingException, ParseException { 12         /* 13          * Base64.Encoder encoder = Base64.getEncoder(); Base64.Decoder decoder 14          * = Base64.getDecoder(); String str="mx..05220416"; 15          * System.out.println(new 16          * String(decoder.decode("Z2hteDA1MjIwNDE2"),"UTF-8")); 17          */ 18         /* 19          * String time ="2018-01-02"; String time2 ="2019-01-02"; 20          * SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd"); 21          * //加上时间 Date begin=sDateFormat.parse(time); Date 22          * end=sDateFormat.parse(time2); //System.out.println(begin); 23          * System.out.println(begin.getTime()); 24          * System.out.println(end.getTime()); long oneyear=31536000; 25          * System.out.println(end.getTime()/1000-begin.getTime()/1000==oneyear); 26          * System.out.println(); 27          */     28          29         String begin="2017-02-27"; 30         String end="2017-03-28"; 31         System.out.println(test(begin,end)); 32     } 33  34     public static boolean test(String beg,String ed) throws ParseException{ 35         boolean result=false; 36         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 37         Date date = format.parse(beg); 38         Date date2 = format.parse(ed); 39         // 开始时间 40         Calendar start = Calendar.getInstance(); 41         start.setTime(date); 42         // 结束时间 43         Calendar end = Calendar.getInstance(); 44         end.setTime(date2); 45         if(testMonth(start,end)&&testYear(date,date2)&&testDay(start,end)){ 46              result=true; 47         } 48         return result; 49     } 50      51      52  53 public static boolean testDay(Calendar start,Calendar end){
//时间必须要以月为单位分割 54 boolean result=false; 55 if(start.getActualMaximum(Calendar.DAY_OF_MONTH)==start.get(Calendar.DATE)){
//说明这是开始时间是月份的最后一天 56 result=end.getActualMaximum(Calendar.DAY_OF_MONTH)==end.get(Calendar.DATE);//那么结束时间也需要是月份的最后一天 57 if(start.get(Calendar.DATE)==end.get(Calendar.DATE)){ 58 result=true; 59 } 60 } 61 if(start.getActualMaximum(Calendar.DAY_OF_MONTH)>start.get(Calendar.DATE)){
//说明这是开始时间不是月份的最后一天 62 if(start.get(Calendar.DATE)==end.get(Calendar.DATE)){
//结束时间和开始时间是不同月份的同一天 63 result=true; 64 }else if(start.get(Calendar.DATE)>end.get(Calendar.DATE)&&end.getActualMaximum(Calendar.DAY_OF_MONTH)==end.get(Calendar.DATE)){ 65 result=true; 66 } 67 else if(start.get(Calendar.DATE)
= 2) // 年数差超过2年 89 ? (end.get(Calendar.YEAR) - start.get(Calendar.YEAR) - 1) * 12 90 + start.getActualMaximum(Calendar.MONTH) - start.get(Calendar.MONTH) 91 + end.get(Calendar.MONTH) + 1 92 : start.getActualMaximum(Calendar.MONTH) - start.get(Calendar.MONTH) 93 + end.get(Calendar.MONTH) + 1); // 年数差为1,Calendar.get(MONTH) 94 // 第一月是0,所以+1 95 //System.out.println(subMonthCount); 96 if(subMonthCount<1){
//相差月份必须大于一个月 97 result=false; 98 }else{ 99 result=true;100 }101 return result;102 }103 104 105 } //欢迎测试
欢迎大家一起说出自己的想法。

转载地址:http://ruvdl.baihongyu.com/

你可能感兴趣的文章
android刷机工具mac版,刷机精灵mac版
查看>>
android+如何封装功能,Android - 如何封装 opengl 流程
查看>>
android c 高级编程源码,Objective-C高级编程
查看>>
android 剪贴板增强工具,剪切板增强工具(ClipboardFusion Pro)
查看>>
opencv android盒子,入门免费阅读_深入OpenCV Android应用开发免费全文_百度阅读
查看>>
html中加入定位按钮,HTML CSS按钮定位
查看>>
android 仿写开发者头条,android高仿今日头条富文本编辑(发布文章)
查看>>
microsoft html 帮助,Microsoft HTML Help 1.4
查看>>
html写顶部固定悬浮菜单栏,JS实现自动固定顶部的悬浮菜单栏效果
查看>>
不能创建对象qmdispatch_automation服务器不能创建对象。如何解决?
查看>>
jenkins的热部署_初体验Jenkins安装并进行Maven项目自动化部署
查看>>
format python value error_引发ValueError(“错误的输入形状{0}”。format(shape))ValueError:错误的输入形状(10,90)...
查看>>
海岛大亨6图像处理错误_图像处理学习笔记(八)——几何变换(源码篇)
查看>>
水磨石地面分隔条设置示意图_水磨石地面施工中应该注意什么?
查看>>
神舟战神调节风扇热键_显瘦又有肌肉 神舟战神Z7M-KP5GZ评测
查看>>
投光灯外壳_LED投光灯主要有哪些优点,如何保养?
查看>>
spark中dataframe解析_Spark SQL | 目前Spark社区最活跃的组件之一
查看>>
发那科冲压直线搬运机器人_传统的机械加工升级了,直线七轴工业机器人搬运系统可会操作?...
查看>>
java中sort函数comparator的使用_用Java中的Comparable和Comparator排序
查看>>
两线怎么接三线插座图_多个插座之间到底怎么接线?
查看>>