仅能得到时间垮幅为一个月的,当然可以自己更改(用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的数组
分享到:
相关推荐
其中包含:获得当前日期 yyyy-MM-dd HH:mm:ss;获取系统当前时间戳;获取当前日期 yy-MM-dd;得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期为yyyy-MM-dd HH:mm:ss.SSS格式的日期;获取当前日期是一个...
3.2 返回当前的日期、时间和指定的日期、时间 121 3.2.1 NOW——返回当前日期和时间 121 3.2.2 TODAY——返回当前日期 123 3.2.3 DATE——返回指定日期的序列号 124 3.2.4 TIME——返回指定时间的序列号 125 ...
本书侧重于函数的实战应用,共分12章,前10章分别介绍了数学函数、统计函数、日期和时间函数、文本函数、逻辑函数、查找和引用函数、财务函数、信息函数以及数据库和三角函数在实战中的应用;第11 章介绍了函数与...
获得所给时间处于上午还是下午 转换一个非24小时数字为24小时数字 ■获得一个月有几天 获得一年有几个月 ■获得起始年到终止年中的年份,并转换为数组 获得两个时问戳之间的时差 获得所给出时间和现在的差异 转换UNIX...
我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,...
│ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉表.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的...
我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,...
购票时间是你购票的日期,由系统自动获取 退票界面** 首先会弹出一个对话框进行引导操作。在输入框内输入购票记录的序号,再点击退票。这时会弹出一个对话框确认删除,注意退票不可恢复。 改签界面** 首先会弹出一...
15.6 给一个XML-RPC服务提供一个wxPython GUI 544 15.7 使用Twisted的Perspective Broker 546 15.8 实现一个CORBA服务和客户 549 15.9 使用telnetlib执行远程登录 551 15.10 使用SSH执行远程登录 554 15.11 ...
│ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的星期几的次数-纵.sql │ 复杂年月处理.sql │ 统计--交叉表+日期+优先.sql │ ├─第03章 │ │ 3.2 各种字符串分拆处理函数.sql │ │ 3.3 各种...
这里所说的空值,实际上也包括那些并不存在的变量,对于一个Java的 null值而言,我们认为这个变量是存在的,只是它的值为null,但对于FreeMarker模板而言,它无法理解null值,null值和不存在的变 量完全相同. 为了处理缺失...
如果树林中的多个域有连续的DNS域名,则该结构称为域树。如^60090102c^所示。 ' C, [0 _7 o0 Q0 w, S" v+ z( D* t7 N 如果相关域树共享相同的活动架构以及目录配置和复制信息,但不共享连续的DNS名称空间,则称之为...
01015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小...
《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...
本书的每一章都提供吸引人的练习题、实践问题和本章知识点回顾以强化所学的知识。本书既是帮助读者轻松地通过oca/ocp认证考试的好帮手,也是oracle从业人员必备的参考书。 本书全面覆盖了1z0-051、1z0-052和1z0-...