获取任意两个时间之间的所有天
Posted chengjianxiaoxue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取任意两个时间之间的所有天相关的知识,希望对你有一定的参考价值。
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; } }
以上是关于获取任意两个时间之间的所有天的主要内容,如果未能解决你的问题,请参考以下文章
Android 使用两个不同的代码片段获取当前位置 NULL