• java遍历两个日期之间的每天,每周,每月


    package com;

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;

    public class DateTest {
        public static void main(String[] args) throws ParseException {
            getDays();
        }

        private static void getMonths() throws ParseException{
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String date1="2015-6-22 00:00:00"; //开始时间
            String date2="2016-07-26 23:59:59"; //结束时间

            Date parse = sdf.parse(date1);
            Date parse2 = sdf.parse(date2);

            Calendar c1=Calendar.getInstance();
            c1.setTime(parse);
            //转为周一
            int year = c1.get(Calendar.YEAR);
            int month = c1.get(Calendar.MONTH);
            c1.set(year, month, 1, 0, 0, 0);
            System.out.println(sdf.format(c1.getTime()));
            Calendar c2=Calendar.getInstance();
            c2.setTime(parse2);
            int weekYear2 = c2.get(Calendar.YEAR);
            int weekOfYear2 = c2.get(Calendar.WEEK_OF_YEAR);
            c2.setWeekDate(weekYear2, weekOfYear2, Calendar.SUNDAY);
            while (true) {
                System.out.println(sdf.format(c1.getTime())+" : "+c1.get(Calendar.MONTH));
                //下一个月<结束日期
                c1.set(Calendar.MONTH, c1.get(Calendar.MONTH)+1);
                if(c1.getTimeInMillis()>=c2.getTimeInMillis()){
                    break;
                }
            }
        }

        private void getWeeks() throws ParseException{
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String date1="2016-6-22 00:00:00"; //开始时间
            String date2="2016-06-26 23:59:59"; //结束时间
            Date parse = sdf.parse(date1);
            Date parse2 = sdf.parse(date2);

            Calendar c1=Calendar.getInstance();
            c1.setTime(parse);
            //转为周一
            int weekYear = c1.get(Calendar.YEAR);
            int weekOfYear = c1.get(Calendar.WEEK_OF_YEAR);
            c1.setWeekDate(weekYear, weekOfYear, Calendar.MONDAY);
            System.out.println(sdf.format(c1.getTime()));
            Calendar c2=Calendar.getInstance();
            c2.setTime(parse2);
            int weekYear2 = c2.get(Calendar.YEAR);
            int weekOfYear2 = c2.get(Calendar.WEEK_OF_YEAR);
            c2.setWeekDate(weekYear2, weekOfYear2, Calendar.SUNDAY);
            while (true) {
                System.out.println(sdf.format(c1.getTime())+" : "+c1.get(Calendar.WEEK_OF_YEAR));
                System.out.println(c1.getTimeInMillis()+"--"+c2.getTimeInMillis());
                if(c1.getTimeInMillis()>=c2.getTimeInMillis()){
                    break;
                }
                //增加7天
                c1.setTimeInMillis(c1.getTimeInMillis()+1000*60*60*24*7);
            }
        }
        private static void getDays() throws ParseException{
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String date1="2016-6-22 00:00:00"; //开始时间
            String date2="2016-06-26 23:59:59"; //结束时间
            Long startTIme = sdf.parse(date1).getTime();  
            Long endTime = sdf.parse(date2).getTime();  

            Long oneDay = 1000 * 60 * 60 * 24l;  

            Long time = startTIme;  
            while (time <= endTime) {  
                Date d = new Date(time);  
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");  
                String date=df.format(d);
                System.out.println(date);
                time += oneDay;
            }
        }
    }
  • 相关阅读:
    jsonp 跨域解决 spring
    goEasy消息推送,pushlet 向特写用户实时推送
    支持中文加密解密
    webservice 小小例子
    DES加密
    线程、异步
    mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释
    Log4j按级别输出到不同文件
    niginx 负载均衡
    node-webkit安装及简单实现
  • 原文地址:https://www.cnblogs.com/go4mi/p/7061277.html
Copyright © 2020-2023  润新知