public static final int YEAR_RETURN = 0;  
          
        public static final int MONTH_RETURN = 1;  
          
        public static final int DAY_RETURN = 2;  
          
        public static final int HOUR_RETURN= 3;  
          
        public static final int MINUTE_RETURN = 4;  
          
        public static final int SECOND_RETURN = 5;  
          
          
        public static final String YYYY = "yyyy";  
          
        public static final String YYYYMM = "yyyy-MM";  
          
        public static final String YYYYMMDD = "yyyy-MM-dd";  
          
        public static final String YYYYMMDDHH= "yyyy-MM-dd HH";  
          
        public static final String YYYYMMDDHHMM = "yyyy-MM-dd HH:mm";  
          
        public static final String YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";  
      
      
    public static long getBetween(String beginTime, String endTime, String formatPattern, int returnPattern) throws ParseException{  
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatPattern);  
            Date beginDate = simpleDateFormat.parse(beginTime);  
            Date endDate = simpleDateFormat.parse(endTime);  
              
            Calendar beginCalendar = Calendar.getInstance();  
            Calendar endCalendar = Calendar.getInstance();  
            beginCalendar.setTime(beginDate);  
            endCalendar.setTime(endDate);  
            switch (returnPattern) {  
            case YEAR_RETURN:  
                return GgczUtil.getByField(beginCalendar, endCalendar, Calendar.YEAR);  
            case MONTH_RETURN:  
                return GgczUtil.getByField(beginCalendar, endCalendar, Calendar.YEAR)*12 + GgczUtil.getByField(beginCalendar, endCalendar, Calendar.MONTH);  
            case DAY_RETURN:  
                return GgczUtil.getTime(beginDate, endDate)/(24*60*60*1000);  
            case HOUR_RETURN:  
                return GgczUtil.getTime(beginDate, endDate)/(60*60*1000);  
            case MINUTE_RETURN:  
                return GgczUtil.getTime(beginDate, endDate)/(60*1000);  
            case SECOND_RETURN:  
                return GgczUtil.getTime(beginDate, endDate)/1000;  
            default:  
                return 0;  
            }  
        }  
      
    private static long getByField(Calendar beginCalendar, Calendar endCalendar, int calendarField){  
            return endCalendar.get(calendarField) - beginCalendar.get(calendarField);  
        }  
          
        private static long getTime(Date beginDate, Date endDate){  
            return endDate.getTime() - beginDate.getTime();  
        }  
          
        public static void main(String[] args) {  
            Date start = new Date("2008/05/00");
            Date end = new Date("2009/06/00");
            System.out.println("###start:==" + start);
            System.out.println("###end:==" + end);

getMonth(start, end);
            System.out.println("###getMonth():=" + getMonth(start, end));
            try {  
                System.out.println(GgczUtil.getBetween("2013-05-02", "2013-05-05", GgczUtil.YYYYMMDD, GgczUtil.MONTH_RETURN));  
            } catch (ParseException e) {  
                e.printStackTrace();  
            }  
              
        }

java获取两个时间的相隔时间,包括年、月、日、时、分、秒的更多相关文章

  1. mysql 获取系统时间的下一天 年-月-日 时:分:秒

    DAY) as date

  2. ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒

    我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...

  3. ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  4. ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  5. [Windows]获取当前时间(年/月/日/时/分/秒)

    struct tm* GetCurTime(time_t inTime) { struct tm* curTime = localtime(&inTime); curTime->tm_y ...

  6. Java 获取年 月 日 时 分 秒

    /** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 ...

  7. oracle截取时间的年/月/日/时/分/秒

    修改日期格式为年月日时分秒: alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select to_char(sysdate,'yyy ...

  8. C#WinForm中显示实时时间:年/月/日 时/分/秒 星期X

    //加载窗体时 string weekstr = ""; private void Form22_Load(object sender, EventArgs e) { this.t ...

  9. js将当前时间格式化为年-月-日 时:分:秒

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. WeUI移动页面实现时间选择器(年-月-日-时-分)

    在做微信公众号的时候,使用的WeUI样式,有一个需求是用户选择一个预约时间,需要年月日并精确到小时和分钟. 但是WeUI的picker组件不支持直接显示5列,根据WeUI.js作者的建议,是将日期和时 ...

随机推荐

  1. 在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件

    原文:在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件 http://hi.baidu.com/aspxdiyer/blog/item/5515a69943232f1 ...

  2. Sublime Text 2 JS 格式化插件 JsFormat的配置使用

    (转自http://www.jb51.net/softjc/178401.html) 这里下载这插件包 https://github.com/jdc0589/JsFormat ,点油下角的zip就能下 ...

  3. CSS使用position定位后导致元素浮动

    1.子元素 absolute/fixed定位后,子元素脱离文档流存在,它让出原来占的那个坑,父元素再也不能通过子元素来撑开高度了 <style> div{ position:absolut ...

  4. OC中的那些String

    /--------操作字符串--NSString(静态字符串)--------------------- NSString * a = @"a+b+c+a+b+d"; NSArra ...

  5. 微信小程序开发POST请求

    onLoad: function() { that = this; wx.request( { url: "http://op.juhe.cn/onebox/weather/query&qu ...

  6. cordova IOS源码浅析

    cordova封装了一套js和OC通信的代码,cordova.js下的iOSExex是关键的js去调原生的发起点. function iOSExec() { var successCallback, ...

  7. Jesse Livermore的21句投机至理名言

    1.优秀的投机家们总是在等待,总是有耐心,等待着市场证实他们的判断.要记住,在市场本身的表现证实你的看法之前,不要完全相信你的判断.        2.要想在投机中赚到钱,就得买卖一开始就表现出利润的 ...

  8. SecureCRT连接VirtualBox下的ubuntu以及NMP的搭建与通过宿主机访问该NGINX服务器过程

    一直使用wamp作为开发环境,只是工作中时常会遇到在wamp下没问题但是提交到服务器生产环境会出现一些意想不到的情况,由此萌生了在本机搭建LNMP环境的想法,我个人不知道其他人的虚拟机搭建服务器环境是 ...

  9. windows update一直卡住:“正在此计算机上搜索更新”

    参考:http://blog.163.com/smile_big/blog/static/35710579201611875333164/ 解决办法: 管理员运行cmd,输入以下命令 net stop ...

  10. 002:IPC与system函数简介

    1:IPC名字mq_XXX,sem_XXX,shm_XXX. 消息队列 信号量 共享内存区 <mqueue.h> <semaphore.h> <sys.mman.h> ...