Java遍历日期代码
import java.util.ArrayList;
import java.util.List;
public class DateTraveller {
public static List<String> getDateList(String startDateString, String endDateString) {
List<String> dateList = new ArrayList<String>();
// start date
int startDate = Integer.parseInt(startDateString);
int startYear = startDate / 10000;
int startMonth = startDate / 100 % 100;
int startDay = startDate % 100;
// end date
int endDate = Integer.parseInt(endDateString);
int endYear = endDate / 10000;
int endMonth = endDate / 100 % 100;
int endDay = endDate % 100;
// begin
int y = startYear;
int m = startMonth;
int d = startDay;
while (y < endYear || y == endYear && m < endMonth || y == endYear && m == endMonth && d <= endDay) {
// System.out.println(y + "-" + m + "-" + d + " vs. " + endYear + "-" + endMonth + "-" + endDay + " : " +
// (y < endYear) + "," + (y == endYear && m < endMonth) + "," + (y == endYear && m == endMonth && d <= endDay)
// );
String tmpDateString = String.format("%d%02d%02d", y, m, d);
dateList.add(tmpDateString);
boolean isRunNian = (y % 400 == 0 || y % 4 == 0 && y % 100 != 0);
int lastDay = 31;
if (m == 2) {
if (isRunNian) lastDay = 29;
else lastDay = 28;
}
else if (m <= 7 && m % 2 == 0 || m > 7 && m % 2 == 1) {
lastDay = 30;
}
if (d >= lastDay) {
m ++;
d = 1;
if (m > 12) {
y ++;
m = 1;
}
}
else {
d ++;
}
}
return dateList;
}
// test
public static void main(String[] args) {
List<String> dateList = getDateList("20151203", "20160301");
for (String dateS : dateList) {
System.out.println(dateS);
}
}
}
Java遍历日期代码的更多相关文章
- java常用用代码
/** *Java获取IP代码 */ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.ev ...
- java学用代码
/** *Java获取IP代码 */ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.ev ...
- 【转】JAVA 8 日期/时间(Date Time)API指南
前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...
- Java基础(37):Java中日期的显示与格式定值----Date与SimpleDateFormat的试用
使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...
- 记一个JAVA关于日期的坑
JAVA解析日期格式代码,之前一直写成:“yyyy-MM-dd hh:mm”,比如"2016-01-18 11:00"."2016-01-18 15:00"都可 ...
- 分享非常有用的Java程序 (关键代码) (一)
原文:分享非常有用的Java程序 (关键代码) (一) 分享一些非常有用的Java程序 (关键代码) ,希望对你有所帮助. 1. 得到当前方法的名字 String methodName = Th ...
- java获取日期之间的差异
转载请注明出处.谢谢http://blog.csdn.net/harryweasley/article/details/42121485 当想到要计算差值.我们肯定想的是"2014.12.1 ...
- java 遍历List 和 Map的几种方法
java遍历List 1.(性能最差) for(String tmp:list) { //System.out.println(tmp); } 2.(性能最好) for(int i = 0; i &l ...
- Java 8 日期时间 API
转自:https://www.runoob.com/java/java8-datetime-api.html Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与 ...
随机推荐
- C#常用控件和属性
目录1.窗体(Form)2.Label (标签)控件3.TextBox(文本框)控件4.RichTextBox控件5.NumericUpDown控件6.Button(按钮)控件7.GroupBox(分 ...
- koa-compose 类库学习
koa-compose 是koa 框架的根源的根源 ,是其实现洋葱包裹型中间件的基础 以下是koa2.X 版本所以依赖的compose 版本 ,其主要核心依赖于new Promise.resolve( ...
- firewall 相关命令
1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disabl ...
- 查看DOM对象的style样式,attributes属性,children
// 在不同的浏览器查看各种属性,样式.如果不知道哪个对象的属性样式怎么写,可以在控制台输出 style attributes// 所有的属性样式都会出现// 此外还可以检查某个属性在不同浏览器是否 ...
- mongodb 高级聚合查询
mongodb高级聚合查询 在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysq ...
- Linux 内核参数说明
转载自: https://www.cnblogs.com/tolimit/p/5065761.html 因个人能力有限,不能保证所有描述都正确,还请大家集思广益,有错误的地方欢迎大家留言指正,同时也欢 ...
- jQuery相关方法6----三大系列属性
一.获取和设置元素的宽和高------width( )方法和height()方法 <!-- 点击按钮,设置div的宽和高为原来的两倍 --> <script src="ht ...
- 6、transformation和action1
一.transformation和action入门 1.介绍 Spark支持两种RDD操作:transformation和action.transformation操作会针对已有的RDD创建一个新的R ...
- 解决JavaWeb项目报错:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
明明有项目和文件,而且别的项目都可以运行,偏偏这个不能用,报错The origin server did not find a current representation for the targe ...
- vue日常学习
1.$refs可以用来进行父子级间通信.ref被用于作为子组件的索引ID,用以方便的在js中直接访问子组件.用法如下parent.$refs.idname 使用方法: 在父级元素上加上ref属性 &l ...