package cn.newfeifan.mall.module.pay.fuiou.util;

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



/**
 * @description 日期处理工具类
 * @version 1.0.0
 *
 */
public class DateUtils {
	/**
	 * 没有分隔符的日期格式
	 */
	public static final String FULL_TIME_WITH_OUT_SEPARATOR = "yyyyMMddHHmmss";
	/**
	 * 最为常见的日期格式
	 */
	public static final String FULL_TIME_WITH_COMMON_SEPARATOR = "yyyy-MM-dd HH:mm:ss";

	/**
	 * @description 取得当前日期的String。
	 * @return String 返回值为日期,格式自定义，需要符合标准，参考Java Doc “SimpleDateFormat”
	 */
	public static String getCurrentDate(String aFormat) {
		String tDate = new SimpleDateFormat(aFormat).format(new java.util.Date(
				System.currentTimeMillis()));
		return tDate;
	}

	/**
	 * 获得当前时间格式yyyyMMddHHmmss
	 * @return
	 */
	public static String getCurrentDateTime() {
		return DateUtils.getCurrentDate("yyyyMMddHHmmss");
	}

	




	
	/**
	 * @description 获取当前系统时间
	 * @return 当前系统时间
	 */
	public static Date getNowDate() {
		Date currentTime = new Date();
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String dateString = formatter.format(currentTime);
		ParsePosition pos = new ParsePosition(0);
		Date currentTime_2 = formatter.parse(dateString, pos);
		return currentTime_2;
	}
	
	/**
	 * @description 按指定格式获取指定时间字符串
	 * @param date
	 *            待转换日期
	 * @param patterns
	 *            时间格式 e.g yyyy-MM-dd HH:mm:ss
	 * @return 返回指定格式指定时间字符串
	 */
	public static String getDateStr(Date date, String patterns) {
		if (date == null) {
			date = new Date();
		}
		SimpleDateFormat formatter = new SimpleDateFormat(patterns);
		String dateString = formatter.format(date);
		return dateString;
	}
	
	
}
