Java获取两个时间段内的所有日期

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

/**
 * 获取两个时间段内的所有日期,日期可跨年
 */
public class GetBetweenDate {

    public static void main(String[] args) {
        List<String> list = getBetweenDate("2013-12-01","2014-02-01");
        for(String date:list){
            System.out.println(date);
        }
    }

    public static List<String> getBetweenDate(String begin,String end){
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        List<String> betweenList = new ArrayList<String>();

        try{
            Calendar startDay = Calendar.getInstance();
            startDay.setTime(format.parse(begin));
            startDay.add(Calendar.DATE, -1);

            while(true){
                startDay.add(Calendar.DATE, 1);
                Date newDate = startDay.getTime();
                String newend=format.format(newDate);
                betweenList.add(newend);
                if(end.equals(newend)){
                    break;
                }
            }
        }catch (Exception e) {
            e.printStackTrace();
        }

        return betweenList;
    }
}
时间: 2024-12-14 04:46:01

Java获取两个时间段内的所有日期的相关文章

[Java] 获取两个日期间的所有日期

def GetDates(String startDate, String endDate){  Date d1 = new SimpleDateFormat("yyyyMMdd").parse(startDate);//定义起始日期  Date d2 = new SimpleDateFormat("yyyyMMdd").parse(endDate);//定义结束日期  Calendar dd = Calendar.getInstance();//定义日期实例  d

如何获取两个任意时间段内的所有日期(及其他处理日期时间的方法总结)

(1)用一下方法获取两个任意时间段内的所有日期,代码如下: #1.将字符串转换成datetime类型 def strtodatetime(datestr,format): return datetime.datetime.strptime(datestr,format) #2.时间转换成字符串,格式为2008-08-02 def datetostr(date): return str(date)[0:10] #3.两个日期相隔多少天,例:2008-10-03和2008-10-01是相隔两天 de

slq获取某一时间段内的全部数据

条件:根据数据库原有某一时间段数据,获取在筛选时间段内的全部数据信息: 通过分析在这筛选时间段的数据可大体分为以下3种情况: 数据库某字段的开始时间在筛选的开始时间与结束时间范围内 数据库某字段的结束时间在筛选的开始时间与结束时间范围内 数据库某字段的开始时间小于筛选的开始时间,结束时间大于筛选的结束时间 转化为sql语句为: ((startDate between '筛选开始时间' and '筛选结束时间') or (endDate between '筛选开始时间' and '筛选结束时间')

返回两个时间段内的季度

参考文章:https://www.cnblogs.com/caoyingjielxq/p/9426972.html public static Date parse(String string, String patern){ SimpleDateFormat simpleDateFormat = new SimpleDateFormat(patern); try { Date parse = simpleDateFormat.parse(string); return parse; } cat

获取两个日期间的所有日期

/** ***获取两个日期间的所有日期 ***默认start<end **/ getBetweenDateStr('2017-07-08','2017-07-22'); function getBetweenDateStr(start,end){ var result = []; var beginDay = start.split("-"); var endDay = end.split("-"); var diffDay = new Date(); var

JAVA获取两个数据量较大的ArrayList的交集、差集以及并集

测试说明:获取firstArrayList和secondArrayList的交集.差集以及并集.实际测试中firstArrayList数据量190000,secondArrayList数据量170000.效率比较高.此处只列出少量数据.测试代码如下: import java.util.Set; import java.util.List; import java.util.HashSet; import java.util.TreeSet; import java.util.Iterator;

Java 获取两个日期之间的日期

1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ private List<Date> getBetweenDates(Date start, Date end) { List<Date> result = new ArrayList<Date>(); Calendar tem

C# 获取一个指定范围内的随机日期函数代码

可以传入两个日期类型(DateTime)的参数,一个开始日期,一个结束日期,函数将会随机返回在这个范围内的日期,这个函数非常有 用,比如我们要随机生成一些文章,但又不希望文章的日期都一样,通过这个函数就可以随机生成一些日期写入数据库,这样就不会让人看出来这些文章是批量插入 的. /// <summary> /// 得到随机日期 /// </summary> /// <param name="time1">起始日期</param> ///

根据日期获取某一时间段内的数据

2019-08-19 根据日期时间查询某一时间段的数据可以按照以下操作,仅仅是一个sql语句的问题: 1.mapper.xml层代码 1 <select id="findTaxDetails" resultType="com.example.pojo.TaxDetails"> 2 select td_tax_date, td_tax_payable, td_detail from tax_details 3 inner join contractor 4