package com.yh.dzy.util;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/*** Created by 菜园子 on 2018/10/15.*/
public class DateCalculateUtil {public static final int YEAR_RETURN = 0;public static final int MONTH_RETURN = 1;public static final int DAY_RETURN = 2;public static final int HOUR_RETURN= 3;public static final int MINUTE_RETURN = 4;public static final int SECOND_RETURN = 5;public static final String YYYY = "yyyy";public static final String YYYYMM = "yyyy-MM";public static final String YYYYMMDD = "yyyy-MM-dd";public static final String YYYYMMDDHH= "yyyy-MM-dd HH";public static final String YYYYMMDDHHMM = "yyyy-MM-dd HH:mm";public static final String YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";public static long getBetween(String beginTime, String endTime, String formatPattern, int returnPattern) throws ParseException {SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatPattern);Date beginDate = simpleDateFormat.parse(beginTime);Date endDate = simpleDateFormat.parse(endTime);Calendar beginCalendar = Calendar.getInstance();Calendar endCalendar = Calendar.getInstance();beginCalendar.setTime(beginDate);endCalendar.setTime(endDate);switch (returnPattern) {case YEAR_RETURN:return getByField(beginCalendar, endCalendar, Calendar.YEAR);case MONTH_RETURN:return getByField(beginCalendar, endCalendar, Calendar.YEAR)*12 + getByField(beginCalendar, endCalendar, Calendar.MONTH);case DAY_RETURN:return getTime(beginDate, endDate)/(24*60*60*1000);case HOUR_RETURN:return getTime(beginDate, endDate)/(60*60*1000);case MINUTE_RETURN:return getTime(beginDate, endDate)/(60*1000);case SECOND_RETURN:return getTime(beginDate, endDate)/1000;default:return 0;}}private static long getByField(Calendar beginCalendar, Calendar endCalendar, int calendarField){return endCalendar.get(calendarField) - beginCalendar.get(calendarField);}private static long getTime(Date beginDate, Date endDate){return endDate.getTime() - beginDate.getTime();}/*** 校验日期是否超过所给条件的期限* @param beginDate* @param endDate* @param optye 年月日时分秒* @param num* @return*/public static boolean validateIsExpire(String beginDate,String endDate,int optye,long num){boolean b = false;try {switch (optye){case YEAR_RETURN:b = getBetween(beginDate,endDate,YYYYMMDDHHMMSS,YEAR_RETURN) > num ? false : true;break;case MONTH_RETURN:b = getBetween(beginDate,endDate,YYYYMMDDHHMMSS,MONTH_RETURN) > num ? false : true;break;case DAY_RETURN:b = getBetween(beginDate,endDate,YYYYMMDDHHMMSS,DAY_RETURN) > num ? false : true;break;case HOUR_RETURN:b = getBetween(beginDate,endDate,YYYYMMDDHHMMSS,HOUR_RETURN) > num ? false : true;break;case MINUTE_RETURN:b = getBetween(beginDate,endDate,YYYYMMDDHHMMSS,MINUTE_RETURN) > num ? false : true;break;case SECOND_RETURN:b = getBetween(beginDate,endDate,YYYYMMDDHHMMSS,SECOND_RETURN) > num ? false : true;break;default:break;}} catch (ParseException e) {e.printStackTrace();}return b;}public static void main(String[] args) {System.out.println(validateIsExpire("2018-10-15 10:00:30", "2018-12-15 11:30:30", 1, 1));}
}
详细解决方案
JAVA 日期过期校验辅助工具
热度:103 发布时间:2023-09-29 04:23:02.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- java 系统单点登录解决方案
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- JAVA WEB导航条,该怎么处理
- java 中Node 有关问题
- 吐了,java Timer 终止不了。
- java web开发解决办法
- 关于 java cast 有关问题,你明白不
- java ftp 下传和上载乱码有关问题
- java web项目上的一些文件
- Hibernate操作数据库 报错java.lang.Integer cannot be cast to java.lang.String如何改
- java struts 文件上载
- java web baidu map开发
- JAVA WEB导航条解决办法
- java 编写ftp上载
- java web中的一个有关问题,困扰小弟我很久了
- java web 与tomcat解决办法
- java web基于j2ee的一些有关问题
- java 内网外网的一个需求,该怎么处理
- jsp 页面 安插ArrayList 报错。为什么,已经加了import="java.util."了呀!
- java dwg 怎样用java把dwg便是aoutcad的格式文件转换成gif,jpg等格式
- 求《Java Web 程序设计与项目实践》解决办法
- java webservice解决方法
- java 与jsp,该怎么解决