Java遍历起止日期中间的所有日期操作

传入的起止日期,返回一个泛型为String的集合:

private static List<String> dateUtil(Date start, Date end) {
    List<String> list = new ArrayList<String>();
    long s = start.getTime();
    long e = end.getTime();

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

    while (s <= e) {
      start = new Date(s);
      list.add(new SimpleDateFormat("yyyy-MM-dd").format(start));
      s += oneDay;
    }
    return list;
  }

补充知识:java中日期的循环

看了很多的日期循环的代码,没有用到calendar的基本就不用看了,各种循环判断,只有这一篇比较靠谱

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

public class Test{

	@Test
	public void forDate() {
		// 日期格式化
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		try {
			// 起始日期
			Date d1 = sdf.parse("2018-2-25");
			// 结束日期
			Date d2 = sdf.parse("2018-3-5");
			Date tmp = d1;
			Calendar dd = Calendar.getInstance();
			dd.setTime(d1);
			// 打印2018年2月25日到2018年3月5日的日期
			while (tmp.getTime() < d2.getTime()) {
				tmp = dd.getTime();
				System.out.println(sdf.format(tmp));
				// 天数加上1
				dd.add(Calendar.DAY_OF_MONTH, 1);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}

}

以上这篇Java遍历起止日期中间的所有日期操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java 获取当前时间的三种方法

    总结java里面关于获取当前时间的一些方法 System.currentTimeMillis() 获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响,得到的结果是时间戳格式的.例如: 1543105352845 我们可以将时间戳转化成我们易于理解的格式 SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z"); Date date = n

  • Java实现的日历功能完整示例

    本文实例讲述了Java实现的日历功能.分享给大家供大家参考,具体如下: 应用名称:Java日历 用到的知识:Java GUI编程,日期操作 开发环境:win8+eclipse+jdk1.8 功能说明:一个很简单的万年历,可以选择年份和月份,也可以用按钮翻页,日历会实时更新日期,最下方会显示当前操作系统的时间. 效果图: 源代码: CalendarFrame.java import java.awt.BorderLayout; import java.awt.GridLayout; import

  • java实现的日期时间转换工具类完整示例

    本文实例讲述了java实现的日期时间转换工具类.分享给大家供大家参考,具体如下: 最基础的东西,总结一下,下次用的时候就方便一些了.废话不多说,直接贴代码: package com.incar.base.util; import com.incar.base.exception.BaseRuntimeException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDat

  • Java计算两个日期时间之间的天数最简方法

    有一种low的方式,就是你把两个时间都换成秒,然后除以一天的秒数,然后向上取整,就是算的天数.但是这么实现太low啦. jdk有高级的API,我们为啥还要自己去实现呢,问题就是我们不知道. 所以,我在这写个笔记,记录下,jdk 1.8 是怎么做的. /** * 计算两个时间点之间的天数 */ private static void getBetweenDay() { LocalDate start = LocalDate.of(2018, 2, 12); LocalDate now = Loca

  • Java遍历起止日期中间的所有日期操作

    传入的起止日期,返回一个泛型为String的集合: private static List<String> dateUtil(Date start, Date end) { List<String> list = new ArrayList<String>(); long s = start.getTime(); long e = end.getTime(); Long oneDay = 1000 * 60 * 60 * 24l; while (s <= e) {

  • Java 遍历 String 字符串所有字符的操作

    我就废话不多说了,大家还是直接看代码吧~ package com.app.main.utils; /** * Created with IDEA * author:Dingsheng Huang * Date:2019/6/28 * Time:下午8:48 */ public class StringUtils { public static void main(String[] args) { String test = "abc123"; // 遍历所有字符 for (int i

  • Java常用类库StringBuffer,Runtime,日期操作类等类库总结

    1):StringBuffer类: String.StringBuffer.StringBuilder的区别 1.String一旦声明,不可改变,StringBuffer与StringBuilder声明的内容可以改变 2.StringBuffer类中提供的方法都是同步方法,属于安全的线程操作,而StringBuilder类中大的方法都是属于异步方法,属于非线程安全的操作. 2):Runtime类 Runtime类是Java中与运行时环境有关的操作类,利用此类可以取得系统的内存信息,也可以利用此类

  • 学习Java的Date、Calendar日期操作

    本文介绍了Java开发过程中日期相关操作,分享的代码如下: package jse; import java.io.UnsupportedEncodingException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /** * 常用日期操作 * * @a

  • Java中常见的日期操作(取值、转换、加减、比较)

    Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提供了可行的解决方案,并不保证是最佳实践,欢迎讨论. 1. 日期取值 在旧版本 JDK 的时代,有不少代码中日期取值利用了 java.util.Date 类,但是由于 Date 类不便于实现国际化,其实从 JDK1.1 开始,就更推荐使用 java.util.Calendar 类进行时间和日期方面的处

  • Java日期操作类常见用法示例

    本文实例讲述了Java日期操作类常见用法.分享给大家供大家参考,具体如下: 一 取出当前日期时间 1 代码 import java.time.*; public class GetDatetime { public static void main(String[] args) { // 创建时间对象,获取当前时间 LocalDateTime timePoint = LocalDateTime.now( ); // 当前时间 System.out.println("--当前时间----"

  • java集合类遍历的同时如何进行删除操作

    目录 java集合类遍历的同时进行删除操作 1. 背景 2. 代码示例 3. 分析 java集合中的一个移除数据陷阱 遍历集合自身并同时删除被遍历数据 异常本质原因 解决 java集合类遍历的同时进行删除操作 1. 背景 在使用java的集合类遍历数据的时候,在某些情况下可能需要对某些数据进行删除.往往操作不当,便会抛出一个ConcurrentModificationException,本方简单说明一下错误的示例,以及一些正确的操作并简单的分析下原因. P.S. 示例代码和分析是针对List的实

  • java常见的字符串操作和日期操作汇总

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; 1.字符串连接 多个字符串链接时,每个字符串之间用+相连,+就是字符串链接,连接之后生成一个新的字符串. 2.获取字符串长度 a.lenght() 根据索引从0开始,截取字符串长度 a.substring(1,3) ; 从1号位开始截取到3号位. 3.获取指定字符串的索引位置 indexOf()方法;last

  • Java遍历集合方法分析(实现原理、算法性能、适用场合)

    概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List.Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList. 除此之外,Java对于数据集合的遍历,也提供了几种不同的方式.开发人员必须要清楚的明白每一种遍历方式的特点.适用场合.以及在不同底层实现上的表现.下面就详细分析一下这一块内容. 数据元素是怎样在内存中存放的? 数据元素在内存中,主要有2种存储方式: 1.顺序存储,Random Access(Di

  • Java中对List集合的常用操作详解

    目录: 1.list中添加,获取,删除元素: 2.list中是否包含某个元素: 3.list中根据索引将元素数值改变(替换): 4.list中查看(判断)元素的索引: 5.根据元素索引位置进行的判断: 6.利用list中索引位置重新生成一个新的list(截取集合): 7.对比两个list中的所有元素: 8.判断list是否为空: 9.返回Iterator集合对象: 10.将集合转换为字符串: 11.将集合转换为数组: 12.集合类型转换: 备注:内容中代码具有关联性. 1.list中添加,获取,

随机推荐