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. 【转】C#中将JSon数据转换成实体类,将实体类转换成Json

    http://wo13145219.iteye.com/blog/2022667 http://json2csharp.chahuo.com/ using System; using System.C ...

  2. PostgreSQL 添加自定义变量

    http://dba.stackexchange.com/questions/97095/set-session-custom-variable-to-store-user-id set sessio ...

  3. Hire Me, Microsoft China

    为微软中国工作是一个愿望.对于其他的股票期权,令人难以置信的小吃店或很酷的工作室,引诱他们的可能性.很多人都想为微软中国工作,谁知道,也许你就是其中之一.这个博客是专门为在微软中国工作.做它的工作空缺 ...

  4. mongoperf

    官方文档 mongoperf is a utility to check disk I/O performance independently of MongoDB. It times tests o ...

  5. vim - buffer

    1. buffer switching http://vim.wikia.com/wiki/Easier_buffer_switching :buffer:ls:files 2. vim defaul ...

  6. css ul li 横向排列

    因为li是块级元素,默认占一行的,要想实现横向排列,一般通过以下两个方法:float:left这样设置有一个问题,li浮动以后则脱离了文本流,即不占位置,如果它的父级元素有具体的样式且没有固定宽高,建 ...

  7. SSIS 连接ORACLE 无法从 SQL 命令中提取参数的解决方案

    第一步:  定义包变量:maxdate 类型为String  定义包变量:sqlStatement类型为String,值为:select * from i_out_serv_mon 第二步:  取&q ...

  8. My97DatePicker日期插件

    My97DatePicker是一款优秀的日期插件,它可以很方便地实现各种日期选择效果,博得广大IT开发人员的青睐. 下面来讲讲它的常用功能及设置方法. 方法/步骤   先来最简单的配置方法: (1)下 ...

  9. [转]彻底征服 Spring AOP 之 理论篇

    基本知识 其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, ...

  10. android nfc中Ndef格式的读写

    1. 在onCreate()中获取NfcAdapter对象: NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); 2.在onNewI ...