`
fable0618
  • 浏览: 47618 次
  • 性别: Icon_minigender_2
  • 来自: 火星
文章分类
社区版块
存档分类

给个时间区间,返回该时间区间所包含的日期

 
阅读更多
仅能得到时间垮幅为一个月的,当然可以自己更改(用for循环)。
/**
	 * 时间区间所包含的日期.
	 * @param startDate
	 * @param endDate
	 */
	public String[] formatDate(String startDate, String endDate) {
		String[] date = null;
		if (startDate.equals(endDate)) {// 同一天.
			date = new String[] { endDate };
		} else if (startDate.substring(5, 7).equals(endDate.substring(5, 7))) {// 不同天,同一月.
			int a = Integer.parseInt(endDate.substring(8))
					- Integer.parseInt(startDate.substring(8));
			date = new String[a + 1];
			for (int i = 0; i <= a; i++) {
				date[i] = startDate.substring(0, 8)
						+ (Integer.parseInt(startDate.substring(8)) + i);
			}
		} else {// 不同天,不同月.
			String d[] = endDate.toString().split("-");
			int yy = Integer.parseInt(d[0]);
			int mm = Integer.parseInt(d[1]);
			int dd = Integer.parseInt(d[2]);
			mm = mm - 1;
			if (mm == 2) {
				dd = 28;
			} else if (mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8
					|| mm == 10 || mm == 12) {
				dd = 31;
			} else {
				dd = 30;
			}
			// 判断闰年
			boolean r = yy % 4 == 0 && yy % 100 != 0 || yy % 400 == 0;
			if (r && mm == 2)
				dd++;

			String temp = String.valueOf(yy) + "-"
					+ String.valueOf(mm < 10 ? "0" + mm : mm) + "-"
					+ String.valueOf(dd);
			int a = Integer.parseInt(temp.substring(8))
					- Integer.parseInt(startDate.substring(8));
			int b = Integer.parseInt(endDate.substring(8)) - 1;
			date = new String[a + b + 2];
			for (int i = 0; i <= a; i++) {
				date[i] = startDate.substring(0, 8)
						+ (Integer.parseInt(startDate.substring(8)) + i);
			}
			for (int i = 0; i <= b; i++) {
				date[a + i + 1] = endDate.substring(0, 8)
						+ ((i + 1) < 10 ? "0" + (i + 1) : (i + 1));
			}
		}
		for (int i = 0; i < date.length; i++) {
			System.out.println(date[i]);
		}
		return date;
	}



2010-02-25 和 2010-03-02 返回结果:
2010-02-25
2010-02-26
2010-02-27
2010-02-28
2010-03-01
2010-03-02
2010-02-25
2010-02-26
2010-02-27
2010-02-28
2010-03-01
2010-03-02的数组
分享到:
评论

相关推荐

    C#实现判断一个时间点是否位于给定时间区间的方法

    如果`time_now`大于等于`time_a`且小于等于`time_b`,则返回`true`,表示时间点在该区间内。如果遍历完所有区间都没有找到匹配的,那么返回`false`,表明时间点未在任何区间内。 在示例程序中,`Main`方法调用了`...

    JS日期区间获取时间代码.zip

    这个压缩包可能包含一个或多个JavaScript文件,展示了如何在给定的日期区间内获取和操作时间。 首先,我们需要理解JavaScript中的`Date`对象。它是JavaScript内置的对象,允许我们创建、操作和格式化日期。`new ...

    Lucene时间区间搜索

    在上面的代码中,`DateTools.DateToString`方法将DateTime对象转换为Lucene可理解的字符串格式,然后创建了一个包含这两个时间点的闭合范围查询。这里的“true”参数表示边界是包含的。 接下来,我们需要将这个...

    java处理日期合并

    这些时间段往往存在重叠的情况,如何有效地合并这些重叠的时间段,使得最终结果只包含不重叠的时间区间,是一个常见的需求。本文将通过一个具体的Java代码示例来介绍如何实现日期的合并功能。 #### 二、关键类与...

    易语言长整数与日期时间转换

    这个函数接受一个日期或时间对象作为参数,返回该日期时间对应的长整数值。例如,如果你有一个日期对象表示2023年5月5日,调用此函数会得到一个长整数,代表从1970年1月1日到2023年5月5日的总毫秒数。 相反,"长...

    java 判断两个时间段是否重叠的案例.docx

    一个时间段包含起始时间和终止时间这两个时间点。为了保证时间段的有效性,需要保证起始时间在终止时间之前。我们可以使用 Java 的 LocalDateTime 来存取或推断时间。 接下来,我们可以定义四个比较先后挨次的方法...

    PHP 根据时间区间计算请假时长

    这里可以使用`date_diff()`函数,它能处理日期和时间的差异,并返回一个DateInterval对象: ```php $startDate = date_create($startTime); $endDate = date_create($endTime); $interval = date_diff($startDate, $...

    js获取一段时间内日期(天、周一、月、年)

    这个主题涉及到几个关键的概念,包括日期对象的创建、日期的比较以及如何遍历一个日期范围来提取特定类型的日期。以下是一些核心知识点的详细说明: 1. **Date对象**:JavaScript中的`Date`对象是处理日期和时间的...

    mysql的日期和时间函数.rar

    这个教程文档“mysql的日期和时间函数.doc”应该包含了详细解释和实例,帮助读者更好地理解和应用这些功能。同时,下载说明.txt可能包含了获取更多资源和理解教程的指引,而“A5下载- 更全的站长资源平台.url”则是...

    java日期时间工具类超级全

    其中包含:获得当前日期 yyyy-MM-dd HH:mm:ss;获取系统当前时间戳;获取当前日期 yy-MM-dd;得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期为yyyy-MM-dd HH:mm:ss.SSS格式的日期;获取当前日期是一个...

    数据处理Pandas-获取日期区间的数据-Python实例源码.zip

    首先,Pandas中的`DataFrame`对象是存储二维表格数据的理想选择,它支持列可以是不同数据类型,包括日期时间类型。在Pandas中,日期时间数据通常以`datetime64[ns]`或`Timedelta[ns]`数据类型存储。日期时间列可以...

    根据输入月份获取季度区间

    该代码片段展示了一个名为`DateUtil`的Java类,其中包含一个方法`getQuarterInterval`,用于根据输入的月份范围(起始月和结束月)计算出覆盖该时间段的季度区间。此功能对于财务报告、数据分析等领域非常有用,因为...

    java月份区间计算

    `DateUtil`类包含了一个名为`getMonthInterval`的方法,该方法接收两个字符串参数,分别表示起始月和结束月,返回一个包含这两个月份之间所有月份(包括起始月和结束月)的列表。此功能对于生成财务报表、统计分析...

    Python-Maya对人类友好的Python日期时间处理库

    7. **时间区间处理**:Maya可以方便地处理时间区间,如计算某个时间点在给定时间区间内的位置,或者检查一个时间点是否在区间内。 8. **序列化和反序列化**:Maya对象可以被序列化为JSON,这对于存储和传输日期时间...

    Python代码源码-实操案例-框架案例-获取日期区间的数据.zip

    如果涉及到框架,比如Django(一个流行的Python Web框架),我们可能会在视图函数中实现这个逻辑,从数据库中查询特定日期区间的数据,并返回给前端: ```python from django.db.models import Q from .models ...

    MySql 按时间段查询数据方法(实例说明)

    该语句将返回时间字段中的月份与当前月份相同的所有记录。 3. 查询UNIX时间戳格式的数据: 对于以UNIX时间戳存储的时间字段,MySQL中的 `FROM_UNIXTIME()` 函数可用于将时间戳转换为日期时间格式。之后,可以利用...

    JavaScript计算两个日期时间段内日期的方法

    本文将详细介绍一个JavaScript函数`dataScope`,该函数用于计算并返回两个日期之间(包括起始和结束日期)的所有日期,以数组形式呈现。 首先,我们来看一下`dataScope`函数的定义: ```javascript function ...

    sqlserver 计算当月所有自然周的区间。

    在给出的代码片段中,首先创建了一个名为`monthWeekBetween`的表,该表用于存储每个月内所有自然周的开始和结束日期。每个自然周对应两列,分别表示这一周的开始日期和结束日期。 ```sql CREATE TABLE [dbo]....

    C#关于日期月天数和一年有多少周及某年某周时间段的计算

    例如,我们可以用`DateTime.Now`获取当前日期和时间,`DateTime.Today`获取当前日期,不包含时间部分。 ### 1. 计算一个月的天数 要计算特定月份的天数,我们可以利用`DateTime.DaysInMonth`方法。这个方法接受...

Global site tag (gtag.js) - Google Analytics