`

java 日期操作方法

    博客分类:
  • java
 
阅读更多
  /**  
     * 计算两个日期之间相差的天数  
     * @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日期操作类

    日期操作类 Long转日期 字符串毫秒转日期 格式化日期转换方法,年 月 日 时 分 秒 把格式化的日期补全 把格式化的日期转化为毫秒 获取当天凌晨,夜间整点时间毫秒 校验日期是否合法 得到n天之后的日期 得到n天之后是...

    JAVA日期操作汇总

    java日期的使用介绍和具体实现的示例 (适合新手) 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar...

    Java DateUtil.java日期时间操作类源代码.rar

    Java DateUtil.java日期时间操作类源代码,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法。比如日期格式转换成时间戳、得到格式化后的系统当前日期、转化日期格式"MM/dd/YY、MM....

    Java8 日期时间操作

    详细介绍了Java8日期时间相关的api,列举了一些常用的方法,包含java.time、java.time.temporal、java.time.format包下的类和接口操作

    Java日期常用操作方法工具类

    NULL 博文链接:https://wangyispider.iteye.com/blog/1136731

    java日期格式化工具类

    java日期格式化工具类,一些常用的日期操作方法

    DateUtil.Java 日期时间操作函数库代码.rar

    一个Java 日期时间操作函数集 DateUtil.java代码,用于时间和日期操作的工具类,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法,格式化后的系统当前时间,如果有异常产生,返回...

    java 获取上月、一个月最后一天、周一、周日、本月日期

    Java 获取上月、一个月最后一天、周一、周日、本月日期是 Java 日期处理中的一些常见操作。下面我们将详细介绍这些操作的实现方法。 一、获取上月 获取上月可以使用 Calendar 类的 add 方法,减去一个月份。然后...

    Java的日期时间处理类讲解代码( Date 、Calendar、SimpleDateFormat、LocalDateTime)

    本源码资源提供了Java中的日期时间处理类相关内容,包括日期、时间和时区的操作方法和示例。它涵盖了Java编程中常用的日期时间处理需求以及如何使用日期时间类来解决这些问题。 适用人群 本源码资源适用于具备一定...

    java源码包---java 源码 大量 实例

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

    Java源码包100个设计实例.zip

    Java日期选择控件完整源代码.rar Java机车狂飙源代码.rar Java模仿的MSN聊天软件.rar java模拟掷骰子2个 Java毕业论文:搜索引擎系统附源代码.rar JAVA毕业设计_员工管理系统含文档.rar Java毕业设计一款J2me飞行...

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

    Java日期时间操作的方法

    主要为大家详细介绍了Java日期时间操作的一些方法,获得Calendar,定义日期/时间的格式等,感兴趣的小伙伴们可以参考一下

    java获取昨天日期字符串的方法

    主要介绍了java获取昨天日期字符串的方法,涉及java针对日期与时间的运算与转换等相关操作技巧,需要的朋友可以参考下

    java源码包4

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    Java开发技术大全(500个源代码).

    differ.java 测试静态方法与实例方法之间的区别 forefather.java 一个简单的基类 grandson.java 上面这个类的子类 hasConstructor.java 拥有构造器的类 hasFinalFun.java 拥有最终方法的类 hasRecall.java ...

    java源码包3

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    JAVA上百实例源码以及开源项目源代码

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

    JAVA上百实例源码以及开源项目

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

Global site tag (gtag.js) - Google Analytics