zoukankan      html  css  js  c++  java
  • 获取两个时间之间的天数

    首先先把字符串转换成date类型

     1     public static Date stringToDate(String dateStr, String formatStr) {
     2         DateFormat sdf = new SimpleDateFormat(formatStr);
     3         Date date = null;
     4         try {
     5             date = sdf.parse(dateStr);
     6         } catch (ParseException e) {
     7             e.printStackTrace();
     8         }
     9         return date;
    10     }

    输入起始日期和结束日期,

        public static List<String> getDayList(String starDate, String endDate) 
        {
            String dateFormat = "yyyyMMdd";
            SimpleDateFormat format = new SimpleDateFormat(dateFormat);
            List<String> dayList = new ArrayList<String>();
            //初始时间和结束时间相等,添加初始时间到list中(添加谁都一样)
            if (starDate.equals(endDate)) 
            {
                dayList.add(starDate);
            } else if (starDate.compareTo(endDate) < 0) 
            {
                //如果初始时间小于终止时间
                while (starDate.compareTo(endDate) <= 0) 
                {
                    //放入初始时间
                    dayList.add(starDate);
                    try 
                    {
                        //算出初始时间和1970的时间差
                        long l = stringToDate(starDate, "yyyyMMdd").getTime();
                        //时间差减去一天的毫秒数,再转换成日期格式,即是第二天
                        starDate = format.format(l + 3600 * 24 * 1000);
                    } catch (Exception e) 
                    {
                        e.printStackTrace();
                    }
                }
            } else 
            {
                //初始时间大于结束时间
                System.err.println("begin>end");
                while (endDate.compareTo(starDate)<=0) {
                    dayList.add(endDate);
                    try 
                    {
                        long l2=stringToDate(endDate, "yyyyMMdd").getTime();
                        endDate=format.format(l2+3600*24*1000);
                    } catch (Exception e) {
                        // TODO: handle exception
                        System.err.println(e.getMessage());
                    }
                }
            }
            // Collections.reverse(dayList);//倒序
            return dayList;
        }

    调用函数:

     1     public static void main(String[] args) 
     2     {
     3         DayList dayList=new DayList();
     4         List daylists=dayList.getDayList("20171231", "20170501");
     5         Iterator<String> listsIterator=daylists.iterator();
     6         while (listsIterator.hasNext()) 
     7         {
     8             System.err.println(listsIterator.next());
     9             
    10         }
    11 
    12     }
  • 相关阅读:
    poj 3468 A Simple Problem with Integers 线段树区间更新
    poj 2096 概率dp
    JSP页面的基本结构 及声明变量
    怎样制作一个横版格斗过关游戏 Cocos2d-x 2.0.4
    块状元素与内联元素的差别
    ZOJ 3526 Weekend Party
    linux下javadoc生成文件出现中文乱码
    Centos6.0 通过devtoolset-2工具安装gcc 4.8
    fre7 offonline for firefox
    Aix Lamp openssh bash
  • 原文地址:https://www.cnblogs.com/jiayouxiage/p/6699730.html
Copyright © 2011-2022 走看看