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遍历日期代码的更多相关文章

  1. java常用用代码

    /** *Java获取IP代码 */ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.ev ...

  2. java学用代码

    /** *Java获取IP代码 */ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.ev ...

  3. 【转】JAVA 8 日期/时间(Date Time)API指南

    前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...

  4. Java基础(37):Java中日期的显示与格式定值----Date与SimpleDateFormat的试用

    使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...

  5. 记一个JAVA关于日期的坑

    JAVA解析日期格式代码,之前一直写成:“yyyy-MM-dd hh:mm”,比如"2016-01-18 11:00"."2016-01-18 15:00"都可 ...

  6. 分享非常有用的Java程序 (关键代码) (一)

    原文:分享非常有用的Java程序 (关键代码) (一)   分享一些非常有用的Java程序 (关键代码) ,希望对你有所帮助. 1.  得到当前方法的名字 String methodName = Th ...

  7. java获取日期之间的差异

    转载请注明出处.谢谢http://blog.csdn.net/harryweasley/article/details/42121485 当想到要计算差值.我们肯定想的是"2014.12.1 ...

  8. java 遍历List 和 Map的几种方法

    java遍历List 1.(性能最差) for(String tmp:list) { //System.out.println(tmp); } 2.(性能最好) for(int i = 0; i &l ...

  9. Java 8 日期时间 API

    转自:https://www.runoob.com/java/java8-datetime-api.html Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与 ...

随机推荐

  1. NAT和PAT

    地址转换技术 优点: 内网能够主动访问外网 外网不能主动访问内网 内网安全 节省公网ip地址 缺点:慢   PAT 端口地址转换 节省公网IP 替换源端口和源地址 NAT 不节省公网IP 一个公网地址 ...

  2. Vue -- filters 过滤器、倒计时效果

    局部过滤器 时间.***号 <div id="wrapper" class="wrapper" style="display: none;&qu ...

  3. SublimeCodeIntel 所有代码提示和补全插件 All Autocomplete 插件搜索所有打开的文件来寻找匹配的提示词

    SublimeCodeIntelSublimeCodeIntel 作为一个代码提示和补全插件,支持 JavaScript.Mason.XBL.XUL.RHTML.SCSS.Python.HTML.Ru ...

  4. [NOIP 2018]旅行

    题目链接 题意简介:现有一个图,小Y要把它走完,每个点只去一次,路径字典序最小. 分析:这道题我认为很重要的一个点就是它的数据范围.它只有两种 m=n-1 或 m=n.我们先考虑第一种:m=n-1也就 ...

  5. 学习了武沛齐讲的Day10-完

    int       整形 int     将字符串转换为数字 x.bit_length()  ===== 当前数字的二进制,至少用n位表示 str       字符串 x.capitalize()== ...

  6. java调出cmd窗口长ping某个ip

    package lct.conference.test; import java.io.IOException; public class Test { public static void main ...

  7. LOJ P10148 能量项链 题解

    Analysis 区间dp裸题,因为是环所以存两次 #include<iostream> #include<cstdio> #include<cstring> #i ...

  8. 二十二. 安装部署Tomcat服务器、使用Tomcat部署虚拟主机、使用Varnish加速Web

    web proxy web1 web2   1.安装部署Tomcat服务器 web1 1.1 使用RPM安装JDK环境 ]# yum -y install java-1.8.0-openjdk ]# ...

  9. 在jsp页面,如何让一个button具有submit的功能

    <input type=button value="提交" οnclick=submit()> <script language=javascript>fu ...

  10. 2019-2020 ICPC, Asia Jakarta Regional Contest

    目录 Contest Info Solutions A. Copying Homework C. Even Path E. Songwriter G. Performance Review H. Tw ...