`
ln_ydc
  • 浏览: 266930 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Java日期处理类

    博客分类:
  • Java
 
阅读更多

 

 

Java日期处理类

 

package com.ydc.ln.commons.utils;

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

/**
 * 
 * @ClassName DateUtils
 * @Description TODO
 * @author ydc
 * @date 下午11:43:01 2013-3-11
 * @version V1.0
 */
public class DateUtils {

	/**
	 * 静态常量
	 */
	public static final String TIME_PATTON_DEFAULT = "yyyy-MM-dd HH:mm:ss";

	public static final String DATE_PATTON_DEFAULT = "yyyy-MM-dd";

	/**
	 * 任意格式日期字符串-->java.util.Date
	 * 
	 * @Title: str2date
	 * @param dateStr
	 * @param patton
	 * @return Date
	 * @throws
	 */
	public static Date str2date(String dateStr, String patton) {
		if (dateStr == null || "".equals(dateStr)) {
			return null;
		}
		if (patton == null || "".equals(patton)) {
			patton = TIME_PATTON_DEFAULT;
		}
		return getSimpleDateFormat(patton).parse(dateStr, new ParsePosition(0));
	}

	/**
	 * java.util.Date-->任意格式日期字符串
	 * 
	 * @Title: date2str
	 * @param date
	 * @param patton
	 * @return String
	 * @throws
	 */
	public static String date2str(Date date, String patton) {
		if (date == null) {
			return null;
		}
		if (patton == null || "".equals(patton)) {
			patton = TIME_PATTON_DEFAULT;
		}
		return getSimpleDateFormat(patton).format(date);
	}

	/**
	 * 任意格式日期字符串-->任意格式日期字符串
	 * 
	 * @Title: str2str
	 * @param dateStr
	 * @param srcPatton
	 * @param destPatton
	 * @return String
	 * @throws
	 */
	public static String str2str(String dateStr, String srcPatton, String destPatton) {
		Date date = DateUtils.str2date(dateStr, srcPatton);
		return DateUtils.date2str(date, destPatton);
	}

	/**
	 * 获取当前时间
	 * 
	 * @Title: getSysDate
	 * @return Date
	 * @throws
	 */
	public static Date getSysDate() {
		return new Date(System.currentTimeMillis());
	}

	/**
	 * 获取指定输出格式的SimpleDateFormat
	 * 
	 * @Title: getSimpleDateFormat
	 * @param patton
	 * @return SimpleDateFormat
	 * @throws
	 */
	public static SimpleDateFormat getSimpleDateFormat(String patton) {
		SimpleDateFormat sdf;
		if (patton == null) {
			patton = TIME_PATTON_DEFAULT;
		}
		sdf = new SimpleDateFormat(patton);
		return sdf;
	}

	/**
	 * 基于日期类型的日期比较
	 * 
	 * @Title: compareDate
	 * @param date1
	 * @param date2
	 * @return int
	 * @throws
	 */
	public static int compareDate(Date date1, Date date2) {
		// 也可使用java.util.Date.after(java.util.Date)来比较
		int result = date1.compareTo(date2);
		return result;
	}

	/**
	 * 基于字符串类型的日期比较
	 * 
	 * @Title: compareDateStr
	 * @param dateStr1
	 * @param dateStr2
	 * @param patton
	 * @return int
	 * @throws
	 */
	public static int compareDateStr(String dateStr1, String dateStr2, String patton) {
		Date date1 = DateUtils.str2date(dateStr1, patton);
		Date date2 = DateUtils.str2date(dateStr2, patton);
		return compareDate(date1, date2);
	}

	/**
	 * Date-->Calendar
	 * 
	 * @Title: date2calendar
	 * @param date
	 * @return Calendar
	 * @throws
	 */
	public static Calendar date2calendar(Date date) {
		if (date == null) {
			return null;
		}
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		return calendar;
	}

	/**
	 * Calendar-->Date
	 * 
	 * @Title: calendar2date
	 * @param calendar
	 * @return Date
	 * @throws
	 */
	public static Date calendar2date(Calendar calendar) {
		if (calendar == null) {
			return null;
		}
		return calendar.getTime();
	}

	public static void main(String[] args) {
		String patton1 = "yyyy/MM/dd hh:mm:ss";
		String patton2 = "yyyy-MM-dd hh:mm:ss";
		Date now = DateUtils.getSysDate();
		System.out.println("current date:\t\t" + now);
		System.out.print(patton1 + "\t");
		String dateStr1 = DateUtils.date2str(now, patton1);
		String dateStr2 = DateUtils.date2str(now, patton2);
		System.out.println(dateStr1);
		System.out.print(patton2 + "\t");
		System.out.println(dateStr2);

		Date date1 = DateUtils.str2date("2013-03-12 01:09:18", patton2);
		Date date2 = DateUtils.str2date("2013-03-12 01:15:38", patton2);
		int result = DateUtils.compareDate(date1, date2);
		System.out.println("result:\t" + result);
	}

}

 

@author Free Coding  http://ln-ydc.iteye.com/

分享到:
评论

相关推荐

    DateHandler.java日期处理类Java文件下载.rar

    DateHandler.java日期处理类Java文件下载,有些功能很不错哦,比如计算是否是季度末、计算从现在开始几天后的时间、得到当前时间,用于文件名,使用yyyyMMddHHmmss格式、比较日期,与现在-N天的日期对比、比较日期,...

    Java日期处理类 自己整理的

    自己整理的Java日期处理类 。包含获取两个之间段之间的天数、月初日期,月末日期、一个时间段之间的所有的日期,月份 一周的第一天,最后一天、 当前是周几等。仅供参考

    java日期处理大全

    java日期处理大全,用与时间的各种处理。。

    Java日期处理工具类

    基本涵盖了各种场景的日期处理需要,包括时间类型转换,获取N天前后,月初月末,某段时间按天拆分等功能,欢迎使用。

    java中的日期处理类总结

    有利于对日起处理的理解 Java中对日期的处理还是经常的问题 值得关注

    java日期处理总结

    java中关于日期处理的总结,包含各种日期格式之间的转java.util.Date(已经不提倡使用,该类的方法比较少) java.util.Calendar(抽象类) java.util.GregorianCalendar(是Calendar的子类,日期处理时候经常使用该类)****...

    java处理日期合并

    java处理日期合并

    经典示例Java日期操作类.pdf

    经典示例Java日期操作类 经典示例Java日期操作类.pdf

    java 日期处理工具类

    java 日期处理工具类

    Java日期类异常处理

    Java实验日期异常类的补充拓展,实现了日期类异常的处理

    java日期处理

    java日期处理

    java日期相关处理工具类大全

    在开发过程中,经常会判断日期处理。文档是开发过程中对时间处理,几乎包含不了所有用的转换,请放心使用。

    java日期处理工具类

    日期操作工具类,主要实现了日期的常用操作。 * * 在工具类中经常使用到工具类的格式化描述,这个主要是一个日期的操作类,所以日志格式主要使用 SimpleDateFormat的定义格式. * * 格式的意义如下: 日期和...

    Java中封装的全局日期处理工具类

    获取日期中的某数值。如获取月份 增加日期中某类型的某数值。如增加日期 获取精确的日期 判断字符串是否为日期字符串 获取日期字符串的日期风格。失敗返回null。 将日期字符串转化为日期。失败返回null。 ...

    java(日期处理大全)

    第一部分关于JAVA的Date (参考关于JAVA的Date总结) 第二部分Date工具类(参考一个总结好的很好的关于JAVA的Date工具类)

    最全Java常用日期处理工具类

    2014" 专门用于处理springboard定时任务修改cron参数的日期处理方法 12.获取本月第一天(月初时间) 13.获取本月最后一天(月底时间) 以上这些方法都在该Java工具类,当然不仅仅包含这些,还有其他的很多。

    java日期处理小结

    java日期处理 和格式解析 包含java.util.Calender java.util. GregorianCalendar java.util.Date

    java语言日期处理大全

    java语言日期处理大全,主要是如何运用日期

    DateUtils.java 日期处理相关工具类

    * 文件名:DateUtils.java 日期处理相关工具类 * 版本信息:V1.0 * 日期:2013-03-11 * Copyright BDVCD Corporation 2013 * 版权所有 http://www.bdvcd.com */ public class DateUtils { /**定义常量**/ ...

Global site tag (gtag.js) - Google Analytics