这是我程序中用到的方法,传入的日期格式,可根据自己的需要作相应的改变。
/**
* 读取两个日期之间的天数
* @param begin yyyy-mm-dd
* @param end yyyymmdd
* @return
*/
public static int getDays(Date begin,String end) throws Exception{
String strend=end.substring(0,4)+"-"+end.substring(4,6)+"-"+end.substring(6,8);
int days=getBetweenDays(begin.toString(), strend);
return days;
}
/**
* 取得两个时间段的时间间隔
* return t2 与t1的间隔天数
* throws ParseException 如果输入的日期格式不是0000-00-00 格式抛出异常
*/
public static int getBetweenDays(String t1,String t2) throws ParseException{
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
int betweenDays = 0;
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if(c1.after(c2)){
c1 = c2;
c2.setTime(d1);
}
int betweenYears = c2.get(Calendar.YEAR)-c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.DAY_OF_YEAR)-c1.get(Calendar.DAY_OF_YEAR);
for(int i=0;i<betweenYears;i++){
int tmp=countDays(c1.get(Calendar.YEAR));
betweenDays+=countDays(c1.get(Calendar.YEAR));
c1.set(Calendar.YEAR,(c1.get(Calendar.YEAR)+1));
}
return betweenDays;
}
public static int countDays(int year){
int n=0;
for (int i = 1; i <= 12; i++) {
n += countDays(i,year);
}
return n;
}
public static int countDays(int month, int year){
int count = -1;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
count = 31;
break;
case 4:
case 6:
case 9:
case 11:
count = 30;
break;
case 2:
if(year % 4 == 0)
count = 29;
else
count = 28;
if((year % 100 ==0) & (year % 400 != 0))
count = 28;
}
return count;
}
分享到:
相关推荐
eclipse,JAVA,俩日期间的天数计算。console处输入俩日期,输入年份可为公元前(但两个年份不可相差太大,太大不可计算),输入月份及天数不符合实际状况时,会做相应提醒。PS:日期输入时,先大后小,还是先小后大...
计算任意两年之间的间隔天数的java代码,可以自己输入任意的年月日。
计算除周六日、法定节假日以外两个日期之间的间隔天数
这是我自己总结出来的 java根据当前日期+指定天数(月份...)得到相应日期以及计算两日期之差,希望对大家带来帮助
java计算两个日期相隔的天数
Java 比较两个日期的代码,2段代码 1是计算两个日期相差多少天,2是比较两个日期先后
计算两日期的天差,希望大家去下载,一定行的
用java来写个类,获取当前的年月日,自己也可以改,获取当前系统时间
JAVA求两日期的差值,并判断日期合法性,计算前推后推天数
java代码-获取某月的最大天数 ——学习参考资料:仅用于个人学习使用
C、Python、Java输出每个月的天数函数解析 C、Python、Java输出每个月的天数函数解析 C、Python、Java输出每个月的天数函数解析 C、Python、Java输出每个月的天数函数解析 C、Python、Java输出每个月的天数函数解析 ...
java中,计算一个月总共有几天工作日,和都有哪天是工作日等问题。
输入两个日期,程序将判断出两个日期的大小关系,以及两个日期之间的间隔天数
Java 计算两个日期之间相差的月数 Java 计算两个日期之间相差的月数
可以获取得到工作的MAP,并可以指定日期为工作日,将工作日设为非工作日.
可以获取得到工作的MAP,并可以指定日期为工作日,将工作日设为非工作日. 之前提交的有问题
Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )
计算两日期之间的时间差,输入两个年月日 计算相差天数
java获取某年某月到某年某月按天的切片日期集合(间隔天数的集合)、获取某年某月按天切片日期集合(某个月间隔多少天的日期集合)、指定天的开始和结束日期、返回某个日期前几天的日期并转换成字符串
计算天数的小程序 java练习 供初学者学习