获取任意两个时间之间的所有天

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String tableName = "user_que_log" ;

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date dBegin;
        Date dEnd;
        try {
            dBegin = sdf.parse("2017-01-01");
            dEnd = sdf.parse("2017-12-31");
            List<String> datas = findDates(dBegin, dEnd);
            if(datas != null && datas.size() > 0) {
                /*for(int i=0; i<datas.size(); i++) {
                    System.out.println(datas.get(i));
                }*/
                for(int i=0; i<datas.size(); i++) {
                    System.out.println("ALTER TABLE " + tableName + " DROP IF EXISTS PARTITION (day=‘"+ datas.get(i) +"‘);");
                }
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }

    private static List<String> findDates(Date dBegin, Date dEnd) {
          List<String> lDate = new ArrayList<String>();
          SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
          lDate.add(sd.format(dBegin));
          Calendar calBegin = Calendar.getInstance();
          // 使用给定的 Date 设置此 Calendar 的时间
          calBegin.setTime(dBegin);

          Calendar calEnd = Calendar.getInstance();
          // 使用给定的 Date 设置此 Calendar 的时间
          calEnd.setTime(dEnd);

          // 测试此日期是否在指定日期之后
          while (dEnd.after(calBegin.getTime()))
          {
               // 根据日历的规则,为给定的日历字段添加或减去指定的时间量
               calBegin.add(Calendar.DAY_OF_MONTH, 1);
               lDate.add(sd.format(calBegin.getTime()));
          }

        return lDate;
    }

}

原文地址:https://www.cnblogs.com/chengjianxiaoxue/p/10150523.html

时间: 2024-10-20 09:02:00

获取任意两个时间之间的所有天的相关文章

PHP 获取两个时间之间的月份

## 获取两个时间之间的间距时间 $s = '2017-02-05'; $e = '2017-07-20'; $start = new \DateTime($s); $end = new \DateTime($e); // 时间间距 这里设置的是一个月 $interval = \DateInterval::createFromDateString('1 month'); $period = new \DatePeriod($start, $interval, $end); foreach ($p

PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期

1 $time1 = strtotime('2014-02-04'); // 自动为00:00:00 时分秒 两个时间之间的年和月份 2 $time2 = strtotime('2015-02-06'); 3 4 $monarr = array(); 5 $monarr[] = '2014-02'; // 当前月; 6 while( ($time1 = strtotime('+1 month', $time1)) <= $time2){ 7 $monarr[] = date('Y-m',$tim

js实现的计算两个时间之间的时间差

js实现的计算两个时间之间的时间差:在实际应用中,需要计算两个时间点之间的差距,一般来说都是计算当前时间和一个指定时间点之间的差距,并且有时候需要精确到天.小时.分钟和秒,下面就简单介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.

zabbix使用fping监控任意两个节点之间的网络质量、丢包率和响应时间

zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间 之前的博文 使用zabbix3.0.4的ICMP Ping模版实现对客户端网络状态的监控 https://www.cnblogs.com/reblue520/p/6832059.html 只能监控zabbix server到zabbix_agent之间的网络情况,不能监控任意两点间的网络情况 此次的方法可以监控任意两点之间的网络情况 需求: mysql主从之间同步经常会延迟,为了查看是否网络问题,先添加两个节点之间的网络

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为: TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之

计算两个时间之间的天数

1第一种 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test { public static void main(String[] args) { try { //时间转换类 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM

C++ 计算任意两个日期之间的天数

C++写的一个计算两个日期之间天数的小程序: [cpp] view plain copy #include <Windows.h> #include <stdio.h> struct tagDate { int year; int month; int day; }; //设置日期 void SetDate(int y, int m, int d, tagDate *date) { date->year = y; date->month = m; date->da

c#获取两个时间之间的信息

//获取两个日期间的天数(含时间) DateTime dt1 = Convert.ToDateTime("2008-7-22 10:12:55"); DateTime dt2 = Convert.ToDateTime("2009-7-30 10:12:54"); System.TimeSpan ts = dt2.Subtract(dt1); Response.Write(ts.Days.ToString()); System.TimeSpan objT; objT=

获取任意两个数之间的一个随机数的方法;

<script type="text/javascript"> /* * getRandom(n,m);  获取n-m之间的一个随机数: by 叶子  2015-06-04: *@parms{ n:获取范围的开始值:number    m:获取范围的结束值:number } *@return{    最后取得的随机数   number;   } */ function getRandom(n,m){ var target = Math.round(Math.random()