⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateutils.java

📁 本公司开发项目中本人做的公共类文件。如文件的操作
💻 JAVA
字号:

package com.intohotel.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateUtils {
	public static String formatDateTime(Date date,String format){
		if (date==null) return "";
		if (format==null) return date.toString();
		DateFormat df = new SimpleDateFormat(format);
		return df.format(date);
	}
	public static String formatY0M0D(Date date){
		return date==null?"":formatDateTime(date,"yyyyMMdd");
	}
	public static String formatYMD(Date date){
		return date==null?"":formatDateTime(date,"yyyy-MM-dd");
	}
	public static String formatYMDHM(Date date){
		return date==null?"":formatDateTime(date,"yyyy-MM-dd HH:mm");
	}
	public static String formatDateTimeByDate(Date date){
		return date==null?"":formatDateTime(date,"yyyy-MM-dd HH:mm:ss");
	}
    public static boolean showNew(Date time){
        if (time==null) return false;
        return DateUtils.addDays(time,3).compareTo(new Date())>=0;
    }	
    public static Date addDays(Date srcDate, int addDays)
    {
    	return getNextDayCurrDay(srcDate,addDays);
    }    
    public static Date addMinutes(Date srcDate, int minutes)
    {
        Calendar cal = Calendar.getInstance();
        cal.setTime(srcDate);
        cal.add(Calendar.MINUTE, minutes);
        return cal.getTime();
    }       
    
    public static Date getNextDayCurrDay(Date currDate,int i){
    	GregorianCalendar gc = new GregorianCalendar();
    	gc.setTime(currDate);
    	gc.add(GregorianCalendar.DATE, i);
    	return gc.getTime();
    }
    
	public static int getCurrDay(){
    	Calendar now = Calendar.getInstance();
    	return now.get(Calendar.DAY_OF_WEEK);
    }
	
	/**
	 * 字符串转化为日期
	 * @param str 被转化的字符串
	 * @param format 转化格式
	 * @return 返回日期
	 * @throws ParseException
	 * @author sys53
	 * @serialData 2007-11-03
	 */
	public static Date StrToDate(String str,String format){
		try{
			if(StringUtil.isEmpty(format))
				format = "yyyy-MM-dd";
			java.text.SimpleDateFormat sdf = new SimpleDateFormat(format);
			return sdf.parse(str);
		}catch(ParseException pe){
			return null;
		}
	}
	 
	/**
	 * 字符串转化为日期,默认格式为:yyyy-MM-dd
	 * @param str
	 * @return
	 * @throws ParseException
	 */
	public static Date StrToDate(String str){
		return StrToDate(str,"yyyy-MM-dd");
	}
	
	public static long getNumOfDays(String date1,String date2){
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date d1;
		try {
			d1 = df.parse(date1);
			Date d2 = df.parse(date2);
	        long diff = Math.abs(d2.getTime()-d1.getTime());
	        return (long)(diff/(1000*60*60*24));
		} catch (ParseException e) {
			e.printStackTrace();
		}
        return 0;
	}
	
	/**
	 * 断判两个日期之间时差是否在5分钟以上
	 * @param d1 日期1
	 * @param d2 日期2
	 * @return 返回true两个日期之间相差5分钟以上,false相差十分钟以内.
	 */
	public static boolean compare(Date d1,Date d2)
	{
		if((d2.getTime()-d1.getTime())>600000l){
			return true;
		}
		return false;
	}	
	
	/**
	 * 获取某天是星期几
	 * @param d
	 * @return
	 */
	@SuppressWarnings("deprecation")
	public static String getTheDay(Date d){
		return "日一二三四五六".charAt(d.getDay())+"";
	}
	
	/**
	 * 获取得某年的第几周的起始日期和结束日期
	 * @param year 年份
	 * @param week 第几周
	 * @return String 数组, [0] 起始日期    [1] 结束日期
	 */
	public static String []  weekDate(int year ,int week){
		if(week<1||week>52)return null;
		String s [] = new String [2];
		Calendar c = Calendar.getInstance();
		c.set(Calendar.YEAR, year);
		c.set(Calendar.WEEK_OF_YEAR, week);
		c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
		s[0] = formatYMD(c.getTime());
		c.add(Calendar.DATE, 6);
		s[1] = formatYMD(c.getTime());
		return s;
		
	}
	/**
	 * 获取得某年的第几月的起始日期和结束日期
	 * @param year 年份
	 * @param month 第几月
	 * @return String 数组, [0] 起始日期    [1] 结束日期
	 */
	public static String []  monthDate(int year ,int month){
		if(month<1||month>12) return null;
		String s [] = new String [2];
		Calendar c = Calendar.getInstance();
		c.set(Calendar.YEAR, year);
		c.set(Calendar.MONTH, month-1);
		c.set(Calendar.DAY_OF_MONTH, 1);
		s[0] = formatYMD(c.getTime());
		c.add(Calendar.MONTH, 1);
		c.add(Calendar.DATE, -1);
		s[1] = formatYMD(c.getTime());
		return s;
		
	}
	/**
	 * 获取得某年的第几季度的起始日期和结束日期
	 * @param year 年份
	 * @param season 第几季
	 * @return String 数组, [0] 起始日期    [1] 结束日期
	 */
	public static String []  seasonDate(int year ,int season){
		if(season<1||season>4)return null;
		String y= String.valueOf(year);
		String []s = new String [2];
		switch(season){
		case 1 : s[0]= y+"-01-01";s[1]= y+"-03-31";break;
		case 2 : s[0]= y+"-04-01";s[1]= y+"-06-30";break;
		case 3 : s[0]= y+"-07-01";s[1]= y+"-09-30";break;
		case 4 : s[0]= y+"-10-01";s[1]= y+"-12-31";break;
		}
		return s;
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -