java时间的转换以及时间的比较

通常来说,java中的时间转用到SimpleDateFormat类。

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间转换的格式。df.format将Date型转变为String型 df.parse将String型转化为Date型。具体使用方法如下

取得当前时间
	/**
	 * getNowDate
	 * 
	 * @return Date
	 * @throws ParseException
	 */
	public static Date getNowDate() throws ParseException {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date DateTimeNow = df.parse(df.format(new Date()));
		return DateTimeNow;

	}

	/**
	 * getNowDateS
	 * 
	 * @return String
	 * @throws ParseException
	 */
	public static String getNowDateS() throws ParseException {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
		String DateTimeNow = df.format(new Date());
		return DateTimeNow;
	}
	
	
将各种时间格式转变为yyyyMMdd
	/**
	 * formtData
	 * 
	 * @param data
	 * @return
	 * @throws ParseException
	 */
	public static String formtData(String data) throws ParseException {
		if (formtJapanData(data)) {
			Locale locale = new Locale("ja", "JP", "JP");
			SimpleDateFormat jformat = new SimpleDateFormat("GGyy.MM.dd", locale);
			SimpleDateFormat yformat = new SimpleDateFormat("yyyyMMdd");
			String strDate = yformat.format(jformat.parse(data));
			return strDate;
		} else if (formtYYYYSMMSDD(data) || formtYYYYMMDD(data)) { //yyyy/MM/dd或者yyyyMMdd
			data = data.replace("/", "");
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			Date dateNew = df.parse(data);
			String date = df.format(dateNew);
			return date;
		}else if (formtYYYYSMSD(data)) { //yyyy/M/dd或者yyyy/MM/d
			Date date = FormatDate(data, "yyyy/MM/dd");
			String totalymd = FormatDate(date, "yyyyMMdd");	
			return totalymd;
		} 
		else if (formtYYYYPMMPDD(data)) {//yyyy.MM.dd
			Date dateNew = FormatDate(data, "yyyy.MM.dd");
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(dateNew);
			return date;
		} else if (formtYYSMMSDD(data)) {//yy/MM/dd
			Date dateNew = FormatDate(data, "yy/MM/dd");
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(dateNew);
			return date;
		} else if (formtYYPMMPDD(data)) {//yy.MM.dd
			Date dateNew = FormatDate(data, "yy.MM.dd"); 
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(dateNew);
			return date;
		} /*else if (formtYYMMDD(data)) {//yyMMdd
			Date dateNew = FormatDate(data, "yyMMdd");
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(dateNew);
			return date;
		}*/
		else if (formtYYYYSMM(data)) {//yyyy/MM
			Date dateNew = FormatDate(data, "yyyy/MM");
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(dateNew);
			return date;
		}
		else if (formtYYYYMM(data)) {//yyyyMM
			Date dateNew = FormatDate(data, "yyyyMM");
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(dateNew);
			return date;
		}
		else if(formtOtherYMD(data)){//其他格式。例如1-Aug-15
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			String date = df.format(new Date(data));
			return date;
		}
		return null;
	}
	
		/**
	 * formtYYYYSMMSDD
	 * 
	 * @param data
	 * @return boolean
	 */
	public static boolean formtYYYYSMMSDD(String data) {
		if (data.length() != 10) {
			return false;
		}
		try {
			FormatDate(data, "yyyy/MM/dd");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYYYMMDD
	 * 
	 * @param data
	 * @return boolean
	 */
	public static boolean formtYYYYMMDD(String data) {
		if (data.length() != 8) {
			return false;
		}
		try {
			FormatDate(data, "yyyyMMdd");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYYYSMSD
	 * 
	 * @param data
	 * @return boolean
	 */
	public static boolean formtYYYYSMSD(String data) {
		if (data.length() != 9) {
			return false;
		}
		try {
			FormatDate(data, "yyyy/MM/dd");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYYYPMMPDD
	 * 
	 * @param data
	 * @return
	 */
	public static boolean formtYYYYPMMPDD(String data) {
		if (data.length() != 10) {
			return false;
		}
		try {
			FormatDate(data, "yyyy.MM.dd");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYSMMSDD
	 * 
	 * @param data
	 * @return
	 */
	public static boolean formtYYSMMSDD(String data) {
		if (data.length() != 8) {
			return false;
		}
		try {
			FormatDate(data, "yy/MM/dd");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYPMMPDD
	 * 
	 * @param data
	 * @return
	 */
	public static boolean formtYYPMMPDD(String data) {
		if (data.length() != 8) {
			return false;
		}
		try {
			FormatDate(data, "yy.MM.dd");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYYYSMM
	 * 
	 * @param data
	 * @return boolean
	 */
	public static boolean formtYYYYSMM(String data) {
		if (data.length() != 7) {
			return false;
		}
		try {
			FormatDate(data, "yyyy/MM");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYYYMM
	 * 
	 * @param data
	 * @return boolean
	 */
	public static boolean formtYYYYMM(String data) {
		if (data.length() != 6) {
			return false;
		}
		try {
			FormatDate(data, "yyyyMM");
		} catch (ParseException e) {
			return false;
		}
		return true;
	}
	
		/**
	 * formtYYYYMM
	 * 
	 * @param data
	 * @return boolean
	 */
	public static boolean formtOtherYMD(String data) {
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
			df.format(new Date(data));
		} catch (Exception e) {
			return false;
		}
		return true;
	}
	
		/**
	 * FormatDate
	 * 
	 * @param date
	 * @param format
	 * @return Date
	 * @throws ParseException
	 */
	public static Date FormatDate(String date, String format) throws ParseException {
		SimpleDateFormat sf = new SimpleDateFormat(format);
		Date dateNew = sf.parse(date);
		return dateNew;
	}
java时间的比较

	/**
	 * CompareTo
	 * 
	 * @param selectDate
	 * @param updateDate
	 * @return int
	 * @throws ParseException
	 */
	public static int CompareTo(String selectDate, Date updateDate) throws ParseException {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//时间格式:年月日时分秒毫秒
		Date dateTimeSelect = df.parse(selectDate);
		if (null != dateTimeSelect) {
			long selectTime = dateTimeSelect.getTime(); //返回时间的毫秒级,类型为long型
			long updateTime = updateDate.getTime();
			if (selectTime > updateTime) {
				return 1;
			} else {
				return -1;
			}
		}
		return 1;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值