package CoreFS.Util;


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

import org.apache.log4j.Logger;

/**
 * 日期和字符串的转换
 * @author 肖斌
 * @version 1.0
 */
public class DateAndStringFormat {

	public static String DATE_TIME="yyyy-MM-dd HH:mm:ss";
	public static SimpleDateFormat SDF_DATE_TIME =new SimpleDateFormat(DATE_TIME);
	public static String DATE_TIME2="yyyyMMddHHmmss";
	public static SimpleDateFormat SDF_DATE_TIME2 =new SimpleDateFormat(DATE_TIME2);
	public static String DATE_STR="yyyy-MM-dd";
	public static SimpleDateFormat SDF_DATE=new SimpleDateFormat(DATE_STR);
	private static Logger logger =Logger.getLogger(DateAndStringFormat.class);
	/**
	 * 转换成yyyy-MM-dd HH:mm:ss格式的字符串
	 * @param date
	 * @return
	 */
	public static String dateTimeToString(Date date){
		if(date!=null)
			return SDF_DATE_TIME.format(date);
		else
			return "";
	}
	
	/**
     * 转换成yyyyMMddHHmmss格式的字符串
     * @param date
     * @return
     */
	public static String dataTimeToString2(Date date){
	    if(date!=null)
            return SDF_DATE_TIME2.format(date);
        else
            return "";
	}
	
	/**
	 * 转换成yyyy-MM-dd格式的字符串
	 * @param date
	 * @return
	 */
	public static String dateToString(Date date){
		if(date!=null)
			return SDF_DATE.format(date);
		else
			return "";
	}
	
	/**
	 * 转换成yyyy-MM-dd格式的日期对象
	 * @param source
	 * @return
	 */
	public static Date stringToDate(String source){
		try {
			
			return SDF_DATE.parse(source);
		} catch (Exception e) {
			logger.error(e,e);
			return new Date();
		}
	}
	
	/**
	 * 转换成yyyy-MM-dd HH:mm:ss格式的日期对象
	 * @param source
	 * @return
	 */
	public static Date stringToDateTime(String source){
		try {
			return SDF_DATE_TIME.parse(source);
		} catch (Exception e) {
			logger.error(e,e);
			return new Date();
		}
	}
	
	/**
	 * 转换成yyyyMMddHHmmss格式的日期对象
	 * @param source
	 * @return
	 */
	public static Date stringToDateTime2(String source){
		try {
			return SDF_DATE_TIME2.parse(source);
		} catch (Exception e) {
			logger.error(e,e);
			return new Date();
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println(stringToDate(null));
	}

}
