有关日期的代码

package com.lenovo.lps.epub.eu.util;

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

public class DateUtil {
	/**
	 * 格式化指定日期
	 * 
	 * @param date
	 * @param exp
	 * @return
	 */
	public static String formatDate(Date date, String exp) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(exp);
		return simpleDateFormat.format(date);
	}

	/**
	 * 
	 * @author:meiyx
	 * @date:2010-11-23
	 * @method description: 获得当前时间
	 * @return
	 */
	public static Date getCurrentDate() {
		return new Date();
	}

	/**
	 * 
	 * @author:meiyx
	 * @date:2010-11-23
	 * @method description:获得当前月
	 * @return
	 */
	public static int getCurrentMonth() {
		return getCurrentDate().getMonth() + 1;
	}

	/**
	 * @method description:获得当前年
	 * @author:meiyx
	 * @date:2010-12-1
	 * @return
	 */
	public static int getCurrentYear() {
		return getCurrentDate().getYear() + 1900;
	}

	/**
	 * @method description:获得给定日期月的第一天
	 * @author:meiyx
	 * @date:2010-12-1
	 * @param date
	 */
	public static Date getMonthFirstDay(Date date) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.set(Calendar.DAY_OF_MONTH, calendar
				.getMinimum(Calendar.DAY_OF_MONTH));
		return calendar.getTime();
	}

	/**
	 * @method description:获得给定日期月的最后一天
	 * @author:meiyx
	 * @date:2010-12-1
	 * @param date
	 * @return
	 */
	public static Date getMonthLastDay(Date date) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.set(Calendar.DAY_OF_MONTH, calendar
				.getActualMaximum(Calendar.DAY_OF_MONTH));
		return calendar.getTime();
	}

	/**
	 * 
	 * @author:meiyx 获得当前季节的开始时间
	 * @date:2010-11-24
	 * @method description:
	 * @return
	 * @throws ParseException
	 * @throws Exception
	 */
	public static Date getSeasonBeginTime() throws ParseException {
		int currentMonth = getCurrentMonth();
		SimpleDateFormat dateFormat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		if (currentMonth >= 1 && currentMonth <= 3) {
			return dateFormat.parse(getCurrentYear() + "-01-01 00:00:00");
		} else if (currentMonth >= 4 && currentMonth <= 6) {
			return dateFormat.parse(getCurrentYear() + "-04-01 00:00:00");
		} else if (currentMonth >= 7 && currentMonth <= 9) {
			return dateFormat.parse(getCurrentYear() + "-07-01 00:00:00");
		} else {
			return dateFormat.parse(getCurrentYear() + "-10-01 00:00:00");
		}
	}

	/**
	 * 
	 * @author:meiyx
	 * @date:2010-11-24
	 * @method description:获得当前季节的结束时间
	 * @return
	 * @throws Exception
	 */
	public static Date getSeasonEndTime() throws Exception {
		int currentMonth = getCurrentMonth();
		SimpleDateFormat dateFormat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		if (currentMonth >= 1 && currentMonth <= 3) {
			return dateFormat.parse(getCurrentYear() + "-03-31 23:59:59");
		} else if (currentMonth >= 4 && currentMonth <= 6) {
			return dateFormat.parse(getCurrentYear() + "-06-30 23:59:59");
		} else if (currentMonth >= 7 && currentMonth <= 9) {
			return dateFormat.parse(getCurrentYear() + "-09-30 23:59:59");
		} else {
			return dateFormat.parse(getCurrentYear() + "-12-31 23:59:59");
		}
	}
	/**
	 * 
	 * @author:meiyx
	 * @date:2010-11-24
	 * @method description:获得上季节的开始时间
	 * @return
	 * @throws Exception
	 */
	public static Date getPreSeasonBeginTime() throws ParseException {
		int currentMonth = getCurrentMonth();
		SimpleDateFormat dateFormat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		if (currentMonth >= 1 && currentMonth <= 3) {
			return dateFormat.parse(getCurrentYear()-1 + "-10-01 00:00:00");
		} else if (currentMonth >= 4 && currentMonth <= 6) {
			return dateFormat.parse(getCurrentYear() + "-01-01 00:00:00");
		} else if (currentMonth >= 7 && currentMonth <= 9) {
			return dateFormat.parse(getCurrentYear() + "-04-01 00:00:00");
		} else {
			return dateFormat.parse(getCurrentYear() + "-07-01 00:00:00");
		}
	}
	/**
	 * 
	 * @author:meiyx
	 * @date:2010-11-24
	 * @method description:获得上季节的结束时间
	 * @return
	 * @throws Exception
	 */
	public static Date getPreSeasonEndTime() throws Exception {
		int currentMonth = getCurrentMonth();
		SimpleDateFormat dateFormat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		if (currentMonth >= 1 && currentMonth <= 3) {
			return dateFormat.parse(getCurrentYear()-1 + "-12-31 23:59:59");
		} else if (currentMonth >= 4 && currentMonth <= 6) {
			return dateFormat.parse(getCurrentYear() + "-03-31 23:59:59");
		} else if (currentMonth >= 7 && currentMonth <= 9) {
			return dateFormat.parse(getCurrentYear() + "-06-30 23:59:59");
		} else {
			return dateFormat.parse(getCurrentYear() + "-09-30 23:59:59");
		}
	}
	/**
	 * 返回当前时间的毫秒数从1970 年 1 月 1日开始
	 * 
	 * @return long
	 */
	public static long getTimeInMillis() {
		long time = 0;
		// Calendar c = Calendar.getInstance();
		// time = c.getTimeInMillis();
		// time = new Date().getTime();
		time = System.currentTimeMillis();
		return time;
	}

	/**
	 * 返回当前时间的字符串形式 : yyyy-MM-ddTHH:mm:ssZ
	 * 
	 * @return
	 */
	public static String getTimestampForString() {
		return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
				.format(new Date());
	}

	/**
	 * topList超时时间(一月中的毫秒数)
	 */
	static Calendar calendar = Calendar.getInstance();
	public static final String topListCacheTimeMonth = calendar
			.getActualMaximum(Calendar.DAY_OF_MONTH)
			* 24 * 60 * 60 * 1000 + "";


	/**
	 * 获得当前时间的指定形式
	 * 
	 * @param exp
	 * @return
	 */
	public static String getTimestamp(String exp) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(exp);
		return simpleDateFormat.format(new Date());
	}

	/**
	 * PARSE指定格式的字符串日期
	 * 
	 * @param strDate
	 * @param exp
	 * @return
	 */
	public static Date parseDate(String strDate, String exp) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(exp);
		try {
			return simpleDateFormat.parse(strDate);
		} catch (ParseException e) {
			e.printStackTrace();
			return null;
		}
	}

	/**
	 * 将java.util.Date 转为java.sql.Date
	 * 
	 * @param date
	 * @return
	 */
	public static java.sql.Date parseUtilDateToSqlDate(Date date) {
		return new java.sql.Date(date.getTime());
	}
	
	/**
	 * 添加月份
	 * @param date
	 */
	public static Date addMonth(Date date,int num){
		Calendar calendar=Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(Calendar.MONDAY,num);
		return calendar.getTime();
	}	

	/**
	 * @method description:当前月的毫秒数
	 * @author:meiyx
	 * @date:2010-12-23
	 * @return
	 */
   public static String getCurrentMonthMillisecond(){
	   Calendar calendar = Calendar.getInstance();
		return calendar.getActualMaximum(Calendar.DAY_OF_MONTH)*24*60*60*1000+"";
		
   }
}




你可能感兴趣的:(sql)