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. 《linux内核设计与实现》读书笔记第十七章

    第17章 设备与模块 四种内核成分 设备类型:在所有 Unix 系统中为了统一普通设备的操作所采用的分类. 模块: Linux 内核中用于按需加载和卸载目标码的机制. 内核对象:内核数据结构中支持面向 ...

  2. win7+vs2008+windows mobile6.5.3

    1.安装vs2008+vs2008sp12.安装Windows Mobile 6 Professional SDK Refresh.msi3.安装Windows Mobile 6 Profession ...

  3. Map与Tuple

    一:Map 1.创建一个不可变的map 2.创建一个可变的map 3.创建一个空的map 4.可变map添加一个元素 5.查看一个元素和修改一个元素 6.可变map删除元素 7.不可变map添加一个元 ...

  4. Android中,Context,什么是Context?

    注:本文翻译自Context, What Context?,原文链接在这里,作者是Dave Smith.ps:译者链接http://blog.csdn.net/race604/article/deta ...

  5. css中很有用的属性

    有些css属性很实用,但不常用也就被忘记. 这里纪录了自己在项目中用过的一些. html,body{ -webkit-tap-highlight-color:transparent; } 这个的用途是 ...

  6. 临时存存储页面上的数据---Web存储

    HTML5 Web存储的两种方法使用 localStorage和sessionStorage 参考: http://www.cnblogs.com/taoweiji/archive/2012/12/0 ...

  7. spdk intel

    前言 继为SDN和NFV领域带来福音的DPDK之后,英特尔于2015年9月开始,逐步将为NVMe等新一代存储规范优化的Linux性能工具包SPDK(Storage Performance Develo ...

  8. vmware centos nat模式下连不上网络解决办法

    简单来讲,当你创建一台虚拟机时,VMware为你虚拟了三种接入网络的方式:桥连接,NAT,使用主机网络,Vmware 10中默认对应 VMnet0,VMnet1,VMnet8 .    当选择桥连接方 ...

  9. 添加APNS通知

    1.进入苹果开发者官网developer.apple.com,点击member center,进入登录界面. 2.输入你的开发者账号和密码,登录后会跳转到“Select your team”这个界面. ...

  10. Python程序的首行

    >问题 >>在一些python程序中的首行往往能够看见下面这两行语句中的一句 >>>#!/usr/bin/Python >>>#!/usr/bin ...