日期工具类

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

public class DateUtil {
	//将日期格式转换成yyyy-mm-dd格式用于前台显示
	public static String dateFormatToIE(String date){
		//如果是null返回""
		if(date == null || "".equals(date)){
			return "";
		}
		String year = date.substring(0, 4);
		String month = date.substring(4, 6);
		String day = date.substring(6, 8);
		return year+"-"+month+"-"+day;
	}

	//将日期格式转换成yyyymmdd格式用于后台数据库存储
	public static String dateFormatToDB(String date){
		//如果是null返回""
		if(date == null || "".equals(date)){
			return "";
		}
		if(date.length()==8){//如果是8位的日期就返回原值
			return date;
		}
		String year = date.substring(0, 4);
		String month = date.substring(5, 7);
		String day = date.substring(8, 10);
		return year+month+day;
	}

	//将日期格式转换成查询语句
	public static String dateFormatToQuerySql(String date,String columnName){
		String[] dates = date.split("~");
		if(dates.length==1){
			String querySql = "AND "+columnName+" LIKE '"+dateFormatToDB(date)+"%' ";
			return querySql;
		}else if(dates.length==2){
			String firstDate = dates[0];
			String secondDate = dates[1];
			String querySql = "AND "+columnName+" BETWEEN '"+dateFormatToDB(firstDate)+"' AND '"+dateFormatToDB(secondDate)+"' ";
			return querySql;
		}else{
			throw new RuntimeException("日期参数格式非法");
		}
	}

	public static String getCurDate(String format){
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		Date date = new Date();
		String currDate = sdf.format(date);
		return currDate;
	}
	
	//获取当前日期后几天的日期86400000为一天的毫秒数
	public static String getCurDateAfter(Integer num){
		return getDate(getNow() + (86400000*num));

	}
	
	// 获得当前时间的毫秒表示
	public static long getNow() {
		GregorianCalendar now = new GregorianCalendar();
		return now.getTimeInMillis();

	}

	// 根据输入的毫秒数,获得日期字符串
	private static GregorianCalendar calendar = new GregorianCalendar();

	// 根据输入的毫秒数,获得日期
	public static String getDate(long millis) {
		calendar.setTimeInMillis(millis);
		return DateFormat.getDateInstance().format(calendar.getTime());

	}
	
	
	public static int getCountBetweenDates(String beginDate,String endDate,String format) {
		SimpleDateFormat sd = new SimpleDateFormat(format);
		long nd = 1000*24*60*60;//一天的毫秒数
		long diff=0;
			try {
				diff = sd.parse(endDate).getTime() - sd.parse(beginDate).getTime();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		int dayCount = (int) (diff/nd);//计算差多少天
        return dayCount;
	}
	
	

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值