`
vakin.jiang
  • 浏览: 145227 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java常用日期处理工具函数类

    博客分类:
  • J2EE
阅读更多
/**
 * 常用日期处理工具类
 */
 public class dateUtils{

/**
	 * 格式化当前时间
	 * @param pattern
	 * @return
	 */
	public static String format(String pattern){
		SimpleDateFormat df = new SimpleDateFormat(pattern);
		return df.format(new Date());
	}
	
	/**
	 * 格式化指定时间
	 * @param date
	 * @param pattern
	 * @return
	 */
	public static String format(Date date, String pattern){
		SimpleDateFormat df = new SimpleDateFormat(pattern);
		return df.format(date);
	}
	
	
	/**
	 * 解释日期
	 * @param str
	 * @param pattern
	 * @return
	 * @throws Exception
	 */
	public static Date parse(String str, String pattern) throws Exception{
		SimpleDateFormat df = new SimpleDateFormat(pattern);
		Date date = df.parse(str);
		return date;
	}
	
	/**
	 * 得到当天开始日期
	 * @return
	 * @throws Exception
	 */
	public static Date getDate() throws Exception{
		return OspUtils.parse(OspUtils.format("yyyyMMdd"),"yyyyMMdd");
	}
	
	/**
	 * 在指定的日期增加天数
	 * @param initDate
	 * @param diff
	 * @return
	 */
	public static Date addDay2Date(Date initDate , int diff){
		Calendar cal = Calendar.getInstance();
		cal.setTime(initDate);
		cal.add(Calendar.DATE, diff);	
		return new Date(cal.getTimeInMillis());
	}
	
	/**
	 * 返回当天起始时间
	 * @return
	 */
	public static Date getCurrentDayStart() throws Exception{
		String start = format("yyyyMMdd")+"000000";
		return parse(start, yyyyMMddhhmmss);
		
	}
	
	/**
	 * 返回当天结束时间
	 * @return
	 */
	public static Date getCurrentDayend() throws Exception{
		String start = format("yyyyMMdd")+"235959";
		return parse(start, yyyyMMddhhmmss);
		
	}
	
	/**
	 * 判断日期是否是当天时间
	 * @param date
	 * @return
	 */
	public static boolean judgeDateIsCurrentDay(Date date){
		
		try {
			long time = date.getTime();
			long Daystart = getCurrentDayStart().getTime();
			long Dayend = getCurrentDayend().getTime();
			return Daystart<=time && time<=Dayend;
		} catch (Exception e) {
		}
		return false;
	}
	
	/**
	 * 比较日期字符串返回天数
	 * @param strBegin 格式:yyyy-MM-dd
	 * @param strEnd   格式:yyyy-MM-dd
	 * @return
	 * @throws Exception
	 */
	public static int getDifferDays(String strBegin,String strEnd) throws Exception {
		   
        java.util.Calendar calst = java.util.Calendar.getInstance();   
        java.util.Calendar caled = java.util.Calendar.getInstance();  
        
        calst.setTime(parse(strBegin.concat(" 00:00:00"), yyyyMMddhhmmss));   
        caled.setTime(parse(strEnd.concat(" 00:00:00"), yyyyMMddhhmmss));   
  
        //得到两个日期相差的天数   
        int days = ((int) (caled.getTime().getTime() / 1000) - (int) (calst   
                .getTime().getTime() / 1000)) / 3600 / 24;   
           
        return days;   
    
	}
	
	/**
	 * 比较日期返回天数
	 * @param strBegin
	 * @param strEnd
	 * @return
	 */
	public static final int getDifferDays(Date strBegin, Date strEnd) {   
        java.util.Calendar calst = java.util.Calendar.getInstance();   
        java.util.Calendar caled = java.util.Calendar.getInstance();   
        calst.setTime(strBegin);   
        caled.setTime(strEnd);   
        //设置时间为0时   
        calst.set(java.util.Calendar.HOUR_OF_DAY, 0);   
        calst.set(java.util.Calendar.MINUTE, 0);   
        calst.set(java.util.Calendar.SECOND, 0);   
        caled.set(java.util.Calendar.HOUR_OF_DAY, 0);   
        caled.set(java.util.Calendar.MINUTE, 0);   
        caled.set(java.util.Calendar.SECOND, 0);   
  
        //得到两个日期相差的天数   
        int days = ((int) (caled.getTime().getTime() / 1000) - (int) (calst   
                .getTime().getTime() / 1000)) / 3600 / 24;   
           
        return days;   
    }   

	
	public static final String DATE_PATTERN_YYYY_MM_DD = "yyyy-MM-dd";
	public static final String yyyyMMddhhmmss = "yyyyMMddhhmmss";

}
分享到:
评论

相关推荐

    java常用工具类的使用

    在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。 2. java.util.Date类 Date类包装了毫秒值,毫秒值表示自1970年1月1...

    通用Android工具库Common4Android.zip

    日期工具类,日期转换生肖、日期转换星座、日期相互转换。 DesUtil.java DES加密工具类。 DeviceUtil.java 设备信息获取工具类,获得设备型号、...

    Java开发技术大全(500个源代码).

    invokeMethod.java 同一个类中调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名...

    oracle时间函数处理总结大全

    oracle时间函数处理总结大全。个人总结的oracle SQL里常用的时间函数,常用日期型函数 贡献给大家分享。。值得大家作为工具

    Java开发常用的方法

    资源为Java源代码,内含系列常用静态方法,可以直接拿来使用,如:拼合一维数组为字符串;产生在start和end之间的num个随机整数,返回值存在HashMap中;获取当前时间,返回时间格式(如果调用参数为true时返回yyyy-MM...

    java源码包---java 源码 大量 实例

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    mumu-core:mumu-core是一个工具核心包,主要包含web项目经常使用的某些组件,mybatis的dao封装和mybatis配置文件扫描器。各种加密工具类各种数据校验类(字符校验,手机号码邮箱重置)序列化工具类(包含java序列化工具, jboss marshalling序列化工具类)日期工具类(日期转字符串,字符串转日期)

    手机号码邮箱校验)序列化工具类(包含java序列化工具,jboss marshalling序列化工具类)日期工具类(日期转串口,字符串转日期)简要说明通过使用mumu-core组件可以大大减少项目创造的复杂度,实现开箱即用的特性。...

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    java程序设计实验指导代码

    7.4 实验3 Java的常用工具类 第8章 字符串 8.1 预备知识 8.2 实验1 一个String类的简单应用 8.3 实验2 单词替换和统计问题 8.4 实验3 字符串的比较和查找最长子串 8.5 实验4 单词逆向输出问题 8.6 实验5 ISBN...

    java开源包11

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包6

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包9

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包5

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包4

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包101

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包8

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java开源包10

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    java源码包4

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    java源码包3

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

Global site tag (gtag.js) - Google Analytics