java得出两个日期之间所有日期

近日老要跑系统日志,每次发生问题要遍历每日的情况。代码改了好几次,每次输入的日期变化,都要修改不少代码。于是写了个日期类来调用。
包含以下功能
1.判断是否为闰年
2.判断一个月有几天
3.得出两个日期直接所有日期

package com.javaer.common;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;/*** java时间类* * @author mc2* */
public class JTime {static String dateFormat = "yyyy-MM-dd";static SimpleDateFormat format = new SimpleDateFormat(dateFormat);/*** 获取两个日期之间所有的日期* @param date1* @param date2* @return*/public static ArrayList days(String date1, String date2) {ArrayList L = new ArrayList();if (date1.equals(date2)) {System.out.println("两个日期相等!");return L;}String tmp;if (date1.compareTo(date2) > 0) { // 确保 date1的日期不晚于date2tmp = date1;date1 = date2;date2 = tmp;}tmp = format.format(str2Date(date1).getTime() + 3600 * 24 * 1000);int num = 0;while (tmp.compareTo(date2) < 0) {L.add(tmp);num++;tmp = format.format(str2Date(tmp).getTime() + 3600 * 24 * 1000);}if (num == 0)System.out.println("两个日期相邻!");return L;}private static Date str2Date(String str) {if (str == null)return null;try {return format.parse(str);} catch (ParseException e) {e.printStackTrace();}return null;}/*** 判断是否闰年* * @param year* @return*/public static boolean isLeapYear(int year) {return (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0));}/*** 一个月有几天* * @param year* @param month* @return*/public static int dayInMonth(int year, int month) {boolean yearleap = isLeapYear(year);int day;if (yearleap && month == 2) {day = 29;} else if (!yearleap && month == 2) {day = 28;} else if (month == 4 || month == 6 || month == 9 || month == 11) {day = 30;} else {day = 31;}return day;}/*** @param args*/public static void main(String[] args) {JTime jt = new JTime();System.out.println(jt.days("2012-02-02", "2012-03-23"));}}

结果

[2012-02-03, 2012-02-04, 2012-02-05, 2012-02-06, 2012-02-07, 2012-02-08, 2012-02-09, 2012-02-10, 2012-02-11, 2012-02-12, 2012-02-13, 2012-02-14, 2012-02-15, 2012-02-16, 2012-02-17, 2012-02-18, 2012-02-19, 2012-02-20, 2012-02-21, 2012-02-22, 2012-02-23, 2012-02-24, 2012-02-25, 2012-02-26, 2012-02-27, 2012-02-28, 2012-02-29, 2012-03-01, 2012-03-02, 2012-03-03, 2012-03-04, 2012-03-05, 2012-03-06, 2012-03-07, 2012-03-08, 2012-03-09, 2012-03-10, 2012-03-11, 2012-03-12, 2012-03-13, 2012-03-14, 2012-03-15, 2012-03-16, 2012-03-17, 2012-03-18, 2012-03-19, 2012-03-20, 2012-03-21, 2012-03-22]

首发于http://java-er.com - http://java-er.com/blog/java-time-days/

posted on 2012-12-21 14:23 月小升 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/yuexiaosheng/archive/2012/12/21/2827909.html

java得出两个日期之间所有日期相关推荐

  1. Java 获取两个日期之间的日期

    1.前期需求,两个日期,startDate和endDate,然后获取到两个日期之间的日期 /*** 获取两个日期之间的日期* @param start 开始日期* @param end 结束日期* @ ...

  2. android java 时间格式化_(Java / Android)计算两个日期之间的日期,并以特定格式显示结果...

    我试图在2个日期之间计算日期如下: >获取当前日期 >获取过去或未来的日期 >计算不同的差异. 1和否2 >以下列格式显示日期 >如果结果是在过去(2天前)或将来(在2天 ...

  3. android谷歌补丁日期,在谷歌日历Android中添加开始日期和结束日期之间所有日期的事件...

    在谷歌日历 Android中添加开始日期和结束日期之间所有日期的事件.我希望每3个月剩余一次,直到结束日期. 这是我的功能 public void addEvent1(Context ctx, Str ...

  4. Java - 计算两个经纬度之间的直线距离

    Java - 计算两个经纬度之间的直线距离 代码Github地址 https://github.com/FrankZuozuo/JavaSpecial 1.点接口 public interface P ...

  5. java遍历两个时间戳之间的每一天

    java遍历两个时间戳之间的每一天 一度为快 时间戳 开始时间戳:1571328000 结束时间戳:1571500800 结果 关键代码 private static void getDays(lon ...

  6. java计算两个经纬度之间的距离

    前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户.实现方式还是比较简单的,之前使用GeodeticCalculator计算经纬度误差在高德上与腾讯有点偏差,首先用户在APP上 ...

  7. java两个日期之间所有日期_java如何输出指定两个日期之间的所有日期

    java如何输出指定两个日期之间的所有日期 关注:252  答案:3  mip版 解决时间 2021-01-31 04:38 提问者等妳¬硪唯一鍀执念 2021-01-31 01:40 java如何输 ...

  8. java获取两个时间之间的所有日期、月份、年份,返回列表

     需求描述 输入开始时间和结束时间,获取时间范围内的所有日期,月份.年份     (输入可以为"yyyy-MM-dd HH:mm:ss"或者"yyyy-MM-dd&quo ...

  9. PHP 获取两个日期之间所有日期

    public function getDatesBetweenTwoDays($startDate,$endDate){$dates = [];if(strtotime($startDate)> ...

最新文章

  1. 知乎 高级操作系统_知乎高赞:Linux!为何他一人就写出这么强的系统,中国却做不出来?...
  2. Feflow 源码解读
  3. pyBoard Mini从安装到简单测试
  4. Apache Flink 零基础入门(四)Flink开发批处理应用程序
  5. 仓库移动_移动式仓库、检修作业平台、储油柜胶囊破裂检测装置……这场科技秀超燃!...
  6. iOS Block 知识点拾遗
  7. iOS视图控制器之间delegate传值教程
  8. idea 搭建 tensorflow 的 java 开发环境
  9. [数分提高]2014-2015-2第9教学周第2次课 (2015-04-30)
  10. 配置STP、RSTP以及负载均衡
  11. 关于最近很火的“快用苹果助手”和“pp助手”使用正版软件闪退问题的说明
  12. 关于intel六代/七代CPU安装win7系统解决USB3.0驱动的镜像文件
  13. 小米9android q测试版,MIUI Android Q Beta优先体验版已推送:小米9可尝鲜
  14. python做一段有意思的代码_Python爬虫入门有意思的小长代码
  15. 三种嵌入式操作系统的分析与比较
  16. 几种常见的开源软件许可协议(GPL, LGPL, Apache License, BSD)
  17. 寄存器 内存 磁盘 读取速度
  18. 【OpenCV 例程300篇】214. 绘制椭圆的参数详解
  19. 【快速上手教程1】开源编队无人机-开机测试
  20. Java程序员必看:Solr vip竞价排名

热门文章

  1. acer清理工具 clear下载_时秋极致清理大师app下载安装_时秋极致清理大师软件最新版免费下载...
  2. 本是同根生,相煎何太急?
  3. 2021年春季学期-信号与系统-第四次作业参考答案-MATLAB实验1
  4. 2021年春季学期-信号与系统-第二次作业参考答案
  5. 角度编码器 ST-3806-15-RS
  6. 如何搭建VUE开发环境
  7. 非抢占式优先算法例题_非抢占式高优先级调度算法
  8. mysql 乱字符_JDBC ODBC MYSQL中文出现乱字符 解决
  9. 9月20华为鸿蒙,荣耀先行!华为智慧屏9月发布:搭鸿蒙系统和自研芯片
  10. html浏览器影响js问题,js 浏览器兼容性问题