仅能得到时间垮幅为一个月的,当然可以自己更改(用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的数组
分享到:
相关推荐
如果`time_now`大于等于`time_a`且小于等于`time_b`,则返回`true`,表示时间点在该区间内。如果遍历完所有区间都没有找到匹配的,那么返回`false`,表明时间点未在任何区间内。 在示例程序中,`Main`方法调用了`...
这个压缩包可能包含一个或多个JavaScript文件,展示了如何在给定的日期区间内获取和操作时间。 首先,我们需要理解JavaScript中的`Date`对象。它是JavaScript内置的对象,允许我们创建、操作和格式化日期。`new ...
在上面的代码中,`DateTools.DateToString`方法将DateTime对象转换为Lucene可理解的字符串格式,然后创建了一个包含这两个时间点的闭合范围查询。这里的“true”参数表示边界是包含的。 接下来,我们需要将这个...
以下是一个详细的步骤指南,包括如何载入时获取对应的年月日、时分秒,并使用6个时间函数: Now.getUTCFullYear() ——使用世界标准时间获取当前日期对象“年份”部分四位数值。 Now.getMonth() ——获取日期对象...
这些时间段往往存在重叠的情况,如何有效地合并这些重叠的时间段,使得最终结果只包含不重叠的时间区间,是一个常见的需求。本文将通过一个具体的Java代码示例来介绍如何实现日期的合并功能。 #### 二、关键类与...
这个函数接受一个日期或时间对象作为参数,返回该日期时间对应的长整数值。例如,如果你有一个日期对象表示2023年5月5日,调用此函数会得到一个长整数,代表从1970年1月1日到2023年5月5日的总毫秒数。 相反,"长...
一个时间段包含起始时间和终止时间这两个时间点。为了保证时间段的有效性,需要保证起始时间在终止时间之前。我们可以使用 Java 的 LocalDateTime 来存取或推断时间。 接下来,我们可以定义四个比较先后挨次的方法...
这里可以使用`date_diff()`函数,它能处理日期和时间的差异,并返回一个DateInterval对象: ```php $startDate = date_create($startTime); $endDate = date_create($endTime); $interval = date_diff($startDate, $...
这个主题涉及到几个关键的概念,包括日期对象的创建、日期的比较以及如何遍历一个日期范围来提取特定类型的日期。以下是一些核心知识点的详细说明: 1. **Date对象**:JavaScript中的`Date`对象是处理日期和时间的...
这个教程文档“mysql的日期和时间函数.doc”应该包含了详细解释和实例,帮助读者更好地理解和应用这些功能。同时,下载说明.txt可能包含了获取更多资源和理解教程的指引,而“A5下载- 更全的站长资源平台.url”则是...
其中包含:获得当前日期 yyyy-MM-dd HH:mm:ss;获取系统当前时间戳;获取当前日期 yy-MM-dd;得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期为yyyy-MM-dd HH:mm:ss.SSS格式的日期;获取当前日期是一个...
首先,Pandas中的`DataFrame`对象是存储二维表格数据的理想选择,它支持列可以是不同数据类型,包括日期时间类型。在Pandas中,日期时间数据通常以`datetime64[ns]`或`Timedelta[ns]`数据类型存储。日期时间列可以...
该代码片段展示了一个名为`DateUtil`的Java类,其中包含一个方法`getQuarterInterval`,用于根据输入的月份范围(起始月和结束月)计算出覆盖该时间段的季度区间。此功能对于财务报告、数据分析等领域非常有用,因为...
`DateUtil`类包含了一个名为`getMonthInterval`的方法,该方法接收两个字符串参数,分别表示起始月和结束月,返回一个包含这两个月份之间所有月份(包括起始月和结束月)的列表。此功能对于生成财务报表、统计分析...
7. **时间区间处理**:Maya可以方便地处理时间区间,如计算某个时间点在给定时间区间内的位置,或者检查一个时间点是否在区间内。 8. **序列化和反序列化**:Maya对象可以被序列化为JSON,这对于存储和传输日期时间...
如果涉及到框架,比如Django(一个流行的Python Web框架),我们可能会在视图函数中实现这个逻辑,从数据库中查询特定日期区间的数据,并返回给前端: ```python from django.db.models import Q from .models ...
该语句将返回时间字段中的月份与当前月份相同的所有记录。 3. 查询UNIX时间戳格式的数据: 对于以UNIX时间戳存储的时间字段,MySQL中的 `FROM_UNIXTIME()` 函数可用于将时间戳转换为日期时间格式。之后,可以利用...
本文将详细介绍一个JavaScript函数`dataScope`,该函数用于计算并返回两个日期之间(包括起始和结束日期)的所有日期,以数组形式呈现。 首先,我们来看一下`dataScope`函数的定义: ```javascript function ...
在给出的代码片段中,首先创建了一个名为`monthWeekBetween`的表,该表用于存储每个月内所有自然周的开始和结束日期。每个自然周对应两列,分别表示这一周的开始日期和结束日期。 ```sql CREATE TABLE [dbo]....