`
ln_ydc
  • 浏览: 271276 次
  • 性别: 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中的日期处理涉及到多个类,包括Date、Calendar、GregorianCalendar以及日期格式化类如DateFormat和SimpleDateFormat。这些类主要用于管理、操作和格式化日期和时间。以下是对这些类的详细说明: 1. **Date类**...

    Java日期处理工具类

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

    java日期工具类

    然而,由于`Date`类存在一些设计上的不足,如不便于格式化和处理时区等问题,后来Java引入了`java.time`包,提供了一系列更加强大和易用的日期时间API。本文将深入探讨`java.util.Date`和`java.time`包中的日期工具...

    java 日期帮助类

    Java 日期帮助类是编程中不可或缺的部分,尤其是在处理时间日期相关的业务逻辑时。在这个Java 日期帮助类中,包含了多达50个实用方法,涵盖了日期和时间的各种操作,旨在简化开发人员的工作,提高代码的可读性和可...

    java日期处理总结

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

    Java常用日期辅助类

    在给定的标题“Java常用日期辅助类”中,我们可以推测这篇博文可能探讨了Java中的一些核心日期处理工具,如`java.util.Date`,`java.time`包中的类,以及自定义的日期助手类`DateHelper.java`。 `java.util.Date`是...

    java 日期处理工具类

    java 日期处理工具类

    Java日期类异常处理

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

    JAVA日期操作类详细讲解

    本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来说是非常重要的知识点。 首先,我们要了解Java中的基础日期类`java.util.Date`。这个类在早期的Java版本中被广泛使用,但其API设计存在一些问题,例如不...

    java日期处理

    java日期处理

    java语言日期处理大全

    以下是一些关于Java日期处理的关键知识点,这些知识点在给定的文件中有所提及: 1. **获取当前日期**: Java通过`java.util.Date`类可以获取服务器上的当前日期。创建一个Date对象即会返回当前系统时间,如`Date ...

    java处理日期合并

    本文详细介绍了如何使用Java处理日期合并的问题,通过对`TimeoffDateDTO`类的定义和日期合并算法的具体实现,提供了一种有效的方法来解决实际工作中经常遇到的时间段重叠问题。这种方法不仅适用于员工请假时间的管理...

    java日期类函数方法整理

    根据给定的文件信息,以下是对Java日期类函数方法的详细整理与解释: ### Java日期类函数方法概览 在Java中,处理日期和时间主要依赖于`java.util.Date`、`java.text.SimpleDateFormat`、`java.sql.Date`、`java....

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

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

    java日期处理小结

    在Java中,日期处理是一项常见的任务,涉及到多个类和方法。本篇文章主要总结了Java中关于日期处理的基础知识,包括`java.util.Calendar`,`java.util.GregorianCalendar`以及`java.util.Date`这三个核心类。 首先...

    Java中日期处理的代码

    根据给定的文件标题、描述、标签以及部分内容,我们可以总结出以下有关 Java 日期处理的知识点: ### 1. 导入必要的包 在 Java 中处理日期时,我们需要导入一些必要的包来支持日期时间的格式化、解析等功能。示例...

Global site tag (gtag.js) - Google Analytics