📄 dateutil.java
字号:
package com.tongye.pub.utils;
import java.util.*;
public class DateUtil
{
public DateUtil()
{
}
public static int yearsBetween(Date one, Date other)
{
if(one.equals(other))return 0;
Calendar early = Calendar.getInstance();
Calendar late = Calendar.getInstance();
if(one.before(other))
{
early.setTime(one);
late.setTime(other);
}
else
{
early.setTime(other);
late.setTime(one);
}
int year1 = early.get(Calendar.YEAR);
int month1 = early.get(Calendar.MONTH) + 1;
int day1 = early.get(Calendar.DAY_OF_MONTH);
int year2 = late.get(Calendar.YEAR);
int month2 = late.get(Calendar.MONTH) + 1;
int day2 = late.get(Calendar.DAY_OF_MONTH);
int years = year2 - year1;
if(month1 < month2)return years;
if(month1 > month2)return years - 1;
if(day1 <= day2 || month1 == 2 && day1 == 29 && day2 == 28)return years;
return years - 1;
}
public static int monthsBetween(Date one, Date other)
{
if(one.equals(other))return 0;
Calendar early = Calendar.getInstance();
Calendar late = Calendar.getInstance();
if(one.before(other))
{
early.setTime(one);
late.setTime(other);
}
else
{
early.setTime(other);
late.setTime(one);
}
int year1 = early.get(Calendar.YEAR);
int month1 = early.get(Calendar.MONTH) + 1;
int day1 = early.get(Calendar.DAY_OF_MONTH);
int year2 = late.get(Calendar.YEAR);
int month2 = late.get(Calendar.MONTH) + 1;
int day2 = late.get(Calendar.DAY_OF_MONTH);
int months = (year2 - year1) * 12 + (month2 - month1);
if(day1 > day2 && !(month1 == 2 && month2 == 2 && day1 == 29 && day2 == 28)) months = months - 1;
return months;
}
public static int daysBetween(Date one, Date other)
{
return(int) (Math.abs(one.getTime() - other.getTime()) / (1000 * 60 * 60 * 24));
}
public static void main(String[] args)
{
System.out.println(yearsBetween(StringUtil.stringToDate("20040229"), StringUtil.stringToDate("20050228")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -