- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- public class DateHelper {
-
- public static String toString(Date date) {
- if (date == null)
- return new String();
- return new SimpleDateFormat("yyyy-MM-dd").format(date);
- }
-
- public static Date getLastDateOfMonth(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- cal.set(Calendar.DAY_OF_MONTH, cal
- .getActualMaximum(Calendar.DAY_OF_MONTH));
- return cal.getTime();
- }
-
- public static int months(Date date1, Date date2) {
- Calendar cal1 = Calendar.getInstance(), cal2 = Calendar.getInstance();
- cal1.setTime(date1);
- cal2.setTime(date2);
- return 12 * (cal2.get(Calendar.YEAR) - cal1.get(Calendar.YEAR))
- + cal2.get(Calendar.MONTH) - cal1.get(Calendar.MONTH);
- }
-
-
- public static int days(Date date1, Date date2) {
- Calendar cal1 = Calendar.getInstance(), cal2 = Calendar.getInstance();
- cal1.setTime(date1);
- cal2.setTime(date2);
- int days=(int)((cal2.getTimeInMillis()-cal1.getTimeInMillis())/1000/60/60/24);
- if(days==0&&date2.before(date1))
- {
- days=-1;
- }
- return days;
- }
- public static Date addDays(Date date, int days) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- cal.add(Calendar.DAY_OF_MONTH, days);
- return cal.getTime();
- }
-
- public static Date addMonths(Date date, int months) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- cal.add(Calendar.MONTH, months);
- return cal.getTime();
- }
-
- public static Date getLastDayOfYear(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- cal.set(Calendar.MONTH, Calendar.DECEMBER);
- cal.set(Calendar.DAY_OF_MONTH, 31);
- return cal.getTime();
- }
-
- public static Date getFirstDateOfNextMonth(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- cal.add(Calendar.MONTH, 1);
- cal.set(Calendar.DAY_OF_MONTH, 1);
- return cal.getTime();
- }
-
- public static Date getFirstDateOfMonth(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- cal.set(Calendar.DAY_OF_MONTH, 1);
- return cal.getTime();
- }
- public static Date getFirstDateOfMonth(int month) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.MONTH, month - 1);
- cal.set(Calendar.DAY_OF_MONTH, 1);
- return cal.getTime();
- }
-
- public static Date getLastDayOfNextYear(Date date) {
- Date _date = getLastDayOfYear(date);
- Calendar cal = Calendar.getInstance();
- cal.setTime(_date);
- cal.add(Calendar.YEAR, 1);
- return cal.getTime();
- }
-
- public static Date removeOneDay(Date date) {
- Calendar d = Calendar.getInstance();
- d.setTime(date);
- d.add(Calendar.DATE, -1);
- return d.getTime();
- }
-
- public static Date getFirstDayOfYear() {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.MONTH, Calendar.JANUARY);
- cal.set(Calendar.DAY_OF_YEAR, 1);
- return cal.getTime();
- }
-
- public static Date getNextThreeMonth(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- if (cal.get(Calendar.MONTH) >= 8)
- cal.set(Calendar.MONTH, 11);
- else
- cal.add(Calendar.MONTH, 3);
- cal.set(Calendar.DAY_OF_MONTH, 1);
- cal.set(Calendar.DAY_OF_MONTH, cal
- .getActualMaximum(Calendar.DAY_OF_MONTH));
- return cal.getTime();
- }
-
- public static Date getLastDateOfMonth(int month) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.MONTH, month - 1);
- cal.set(Calendar.DAY_OF_MONTH, 1);
- cal.set(Calendar.DAY_OF_MONTH, cal
- .getActualMaximum(Calendar.DAY_OF_MONTH));
- return DateHelper.getLastDateOfMonth(cal.getTime());
- }
-
- public static int getMonthOfDate(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- return cal.get(Calendar.MONTH) + 1;
- }
-
- public static int getDayOfDate(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- return cal.get(Calendar.DAY_OF_MONTH);
- }
-
- public static int getYearOfDate(Date date) {
- Calendar cal = Calendar.getInstance();
- cal.setTime(date);
- return cal.get(Calendar.YEAR);
- }
-
- public static Date getMaxDate(Date date1, Date date2) {
- return date1.after(date2) ? date1 : date2;
- }
-
- public static boolean equals(Date date1, Date date2) {
- Calendar cal1 = Calendar.getInstance(), cal2 = Calendar.getInstance();
- cal1.setTime(date1);
- cal2.setTime(date2);
- return (cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR))
- && (cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH))
- && (cal1.get(Calendar.DATE) == cal2.get(Calendar.DATE));
- }
- }
--PS:
如何计算两个日期的天数差值?
long beginTime = beginDate.getTime();
long endTime2 = endDate.getTime();
long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5);
如何比较日期时间大小?
Date nowDate=new Date();//当前时间\r
long nowTime=nowDate.getTime;
long lastTime=userTime.longValue();//以前的时间\r
long time=nowTime-lastTime;//时间相减比较。
if(time>(long)60000)//1分钟{}
怎么得到一个月的天数?
java.util.Calendar date = java.util.Calendar.getInstance();
System.out.println(date.getActualMaximum(date.DAY_OF_MONTH));
发表于 @ 2008年09月10日 17:34:00|评论(loading...)|编辑|收藏