/**
* 计算两个日期之间相差的天数
* @param smdate 较小的时间
* @param bdate 较大的时间
* @return 相差天数
* @throws ParseException
*/
public static int daysBetween(Date smdate, Date bdate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
smdate = sdf.parse(sdf.format(smdate));
bdate = sdf.parse(sdf.format(bdate));
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days = (time2 - time1) / (1000 * 3600 * 24);
return Integer.parseInt(String.valueOf(between_days + 1));
}
/**
* 得到两个日期中的每一天
* @param startTime
* @param endTime
* @return
*/
public static List<Date> getEveryDaysList(Date startTime, Date endTime) {
Date startDay = DateUtils.truncate(startTime, Calendar.DAY_OF_MONTH);
Date endDay = DateUtils.truncate(endTime, Calendar.DAY_OF_MONTH);
List<Date> resultList = new ArrayList<Date>();
for (Date day = startDay; day.before(endDay); day = DateUtils.add(day, Calendar.DAY_OF_MONTH, 1)) {
resultList.add(day);
}
resultList.add(endDay);
return resultList;
}
/**
* 判断 date是否在 startDate和endDate之间
* @param date
* @param startDate
* @param endDate
* @return
*/
public static boolean isBetweenDays(Date date, Date startDate, Date endDate) {
boolean result = true;
if (date.before(startDate) || date.after(endDate)) {
result = false;
}
return result;
}
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = sdf.parse("2013-09-26");
Date d2 = sdf.parse("2013-09-25");
Date d3 = sdf.parse("2013-09-27");
System.out.println(isBetweenDays(d1, d2, d3));
System.out.println(daysBetween(d1, d3));
List<Date> days = getEveryDaysList(d1, d3);
for (Date day : days) {
System.out.println(day);
}
}
分享到:
相关推荐
Java 日期操作方法工具类实例 Java 日期操作方法工具类实例是 Java 语言中对日期进行操作的工具类,提供了日期比较大小、相加减、判断、验证、获取年份等多种常见操作。该工具类主要用于解决 Java 日期操作中的一些...
本文将重点讲解Java日期的常用操作方法,主要基于提供的`JavaDateUtil.java`文件,假设这是一个自定义的日期工具类。 首先,我们来了解`java.util.Date`。这个类在早期的Java版本中被广泛使用,但它的API设计并不...
本篇文章将详细探讨Java中的日期操作接口,特别是围绕"Java日期操作接口"这个主题,以及与之相关的`DateFilter.java`文件。 首先,Java中最基础的日期类是`java.util.Date`。这个类自Java 1.0起就存在,但它的设计...
以下是对给定内容中涉及的Java日期操作进行的详细说明: 1. **获取指定月份的第一天**: 使用`java.util.Calendar`类可以方便地获取指定日期所在月份的第一天。首先,将输入的日期字符串转换为`java.util.Date`...
### JAVA日期操作汇总 本文将对Java中的日期操作进行详细解析,主要涵盖以下几个方面: 1. 计算某个月份的最大天数; 2. `Calendar`与`Date`之间的转换; 3. 日期格式化; 4. 获取指定日期所在的周序号及设置某...
根据给定的文件信息,...以上就是对Java日期类函数方法的整理和解释,涵盖了基本的日期操作,包括日期的格式化、解析、转换以及年份和月份的获取等。掌握这些函数和方法,能够帮助开发者更高效地处理日期相关的任务。
如果这个文件包含了代码示例,你可以打开查看具体实现,进一步学习和理解Java日期时间操作的细节。 总之,理解和熟练掌握Java的日期时间操作对于开发人员来说至关重要,无论是在处理用户输入、记录日志还是进行复杂...
本篇内容将深入讲解Java中的日期操作类,这对于Java初学者来说是非常重要的知识点。 首先,我们要了解Java中的基础日期类`java.util.Date`。这个类在早期的Java版本中被广泛使用,但其API设计存在一些问题,例如不...
日期操作类 Long转日期 字符串毫秒转日期 格式化日期转换方法,年 月 日 时 分 秒 把格式化的日期补全 把格式化的日期转化为毫秒 获取当天凌晨,夜间整点时间毫秒 校验日期是否合法 得到n天之后的日期 得到n天之后是...
"操作日期的java包"即指的是Joda-Time这个第三方库。 Joda-Time是Java领域广泛使用的日期时间处理库,它的设计目标是替代Java标准库中的日期和时间API,因为后者在设计上存在一些问题,如可读性差、易用性不足等。...
在Java编程语言中,日期和时间的处理是常见的任务,涉及到日期的创建、格式化、解析、比较以及各种转换操作。本篇文章将深入探讨Java中日期转换的各种方法和技巧。 一、日期对象的创建 在Java中,日期对象可以通过...
标题提到的"java实现的日期操作类"通常指的是使用这些类来完成特定的日期计算任务,如获取星期几或计算未来的日期。 `java.util.Date`是Java早期用来表示日期和时间的类,但它的API设计并不理想,易用性较差。因此...
### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...
Java 提供了多种方式来实现日期的加减操作,本文将详细介绍其中的两种方法。 使用 java.util.Calender 实现日期加减 Java 中的 `Calendar` 类提供了对日期的加减操作。可以使用 `Calendar` 类的 `set` 方法和 `get...
### Java日期格式转换详解 在Java开发中,对日期和时间进行操作是非常常见的需求之一。本文将基于给定文件中的代码示例,详细介绍如何在Java中实现日期格式的转换,并探讨其中涉及的关键知识点。 #### 一、理解...
Java DateUtil.java日期时间操作类源代码,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法。比如日期格式转换成时间戳、得到格式化后的系统当前日期、转化日期格式"MM/dd/YY、MM....
这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...
详细介绍了Java8日期时间相关的api,列举了一些常用的方法,包含java.time、java.time.temporal、java.time.format包下的类和接口操作
### Java日期处理方法 在Java开发中,对日期与时间的操作是极其常见且重要的一个环节。无论是处理用户的出生年月日、注册日期还是订单的创建时间等,都需要使用到Java提供的日期类进行处理。本文将深入探讨Java中的...