`
guoyulong005
  • 浏览: 32666 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

java时间比较(月和天)

阅读更多
//早于截止时间
    public static boolean isDateBefore(String endTime){   
          try{
                Date date1 = new Date();
                DateFormat df = DateFormat.getDateTimeInstance();
                return date1.before(df.parse(endTime));
          }catch(ParseException e){
              System.out.print(e.getMessage());
              return false;
        }
    }
   
    //晚于起始时间
    public static boolean isDateAfter(String startTime){
        try{
            Date date1 = new Date();
            DateFormat df = DateFormat.getDateTimeInstance();
            return date1.after(df.parse(startTime));
        }catch(ParseException e){
            System.out.print(e.getMessage());
            return false;
        }
    }
    public static void main(String[] args) {
           String date = "";  
           SimpleDateFormat  sdf=  new   SimpleDateFormat("yyyy-MM-dd");  
           java.util.Date   dd     =   Calendar.getInstance().getTime();  
           date = sdf.format(dd);
              
            boolean flag = isDateBefore(date+" 09:01:00");
            boolean flag2  = isDateBefore(date+" 17:29:00");
           
            boolean flag3 = isDateAfter(date+" 09:01:00");
            boolean flag4 = isDateAfter(date+" 17:29:00");
           
            System.out.println(flag+","+flag2);
            System.out.println(flag3+","+flag4);
       
    }

/**
     * 得到两日期相差几个月
     *
     * @param String
     * @return
     */
    public static long getMonth(String startDate, String endDate) {
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
        long monthday;
        try {
            Date startDate1 = f.parse(startDate);
            //开始时间与今天相比较
            Date endDate1 = new Date();

            Calendar starCal = Calendar.getInstance();
            starCal.setTime(startDate1);

            int sYear = starCal.get(Calendar.YEAR);
            int sMonth = starCal.get(Calendar.MONTH);
            int sDay = starCal.get(Calendar.DATE);

            Calendar endCal = Calendar.getInstance();
            endCal.setTime(endDate1);
            int eYear = endCal.get(Calendar.YEAR);
            int eMonth = endCal.get(Calendar.MONTH);
            int eDay = endCal.get(Calendar.DATE);

            monthday = ((eYear - sYear) * 12 + (eMonth - sMonth));

            if (sDay < eDay) {
                monthday = monthday + 1;
            }
            return monthday;
        } catch (ParseException e) {
            logger.debug("获取相差月数失败");
            monthday = 0;
        }
        return monthday;
    }


/**
   * 两个年月相减,获得相差月数
   * @param String 第一个日期(yyyyMM)
   * @param String 第二个日期(yyyyMM)
   * @return int 相差月数
   * @throws java.text.ParseException
   */
   public static int getMonthNum(String date1,String date2) throws java.text.ParseException{
   if("".equals(ConvertUtil.convertNull(date1))||"".equals(ConvertUtil.convertNull(date2))){
   return 0;
   }
   Date d = null;
   Date d1 = null;
   SimpleDateFormat df = new SimpleDateFormat("yyyyMM");
   d = df.parse(date1);
   d1 = df.parse(date2);

   // 比较日期大小
   if (d.getTime() > d1.getTime()) {
   System.out.println(df.format(d));
   } else {
   System.out.println(df.format(d1));
   }

   Calendar c = Calendar.getInstance();
   c.setTime(d);

   int year = c.get(Calendar.YEAR);
   int month = c.get(Calendar.MONTH);

   c.setTime(d1);
   int year1 = c.get(Calendar.YEAR);
   int month1 = c.get(Calendar.MONTH);

   int result;
   if (year == year1) {
   result = month1 - month + 1;// 两个日期相差几个月,即月份差
   } else {
   result = 12 * (year1 - year) + month1 - month + 1;// 两个日期相差几个月,即月份差
   }
   return result;
   }
分享到:
评论

相关推荐

    java判断时间大小

    本文将详细介绍如何在Java中实现日期与时间的比较,包括使用`SimpleDateFormat`、`Date`、`Calendar`等类进行时间格式化和比较的方法,并通过示例代码展示具体实现过程。 #### 二、使用`SimpleDateFormat`和`Date`...

    Java时间大小的比较

    Java时间大小的比较 date java

    java 获取时间 本周本年本月第一天最后一天

    ### Java 获取时间:本周、本年、本月的第一天与最后一天 在Java中,通过`Calendar`类可以方便地操作日期。以下将详细介绍如何利用`Calendar`类来获取本周、本年、本月的第一天和最后一天的具体实现方法。 #### ...

    js和java返回三个月前的时间

    ### 使用JS和Java返回三个月前的时间 在软件开发过程中,日期和时间的处理是一项非常常见的需求,尤其是在涉及历史数据查询、统计分析等场景时。本文将详细介绍如何使用JavaScript(JS)和Java这两种语言来实现获取...

    Java字符串转换为日期和时间比较大小[归类].pdf

    Java 字符串转换为日期和时间比较大小 Java 字符串转换为日期和时间比较大小是 Java 开发中常见的操作。下面我们将详细介绍两种方法来实现 Java 字符串转换为日期和时间比较大小。 方法一:使用 SimpleDateFormat ...

    java比较时间前后

    在Java编程语言中,比较时间前后是一个非常实用且常见的需求,尤其是在处理日期和时间相关的业务逻辑时。本文将详细介绍如何在Java中实现时间的比较,并给出具体的代码示例以及一些扩展应用。 ### Java中比较时间的...

    java获取时间大全

    - `Duration`和`Period`:分别用于表示时间和日期的跨度,提供了计算两个日期或时间差的方法。 9. **日期时间的格式化和解析最佳实践:** - 使用`java.time`包的类而非`Date`,因为它们提供了更好的API和更少的...

    转 Java校正电脑时间(java 时间同步)

    NTP是一个用于同步网络中不同计算机时钟的协议,它通过比较服务器和客户端的时间戳来调整本地时间。Java虽然没有内置的NTP客户端,但可以通过第三方库如`com.sun.jna`(Java Native Access)或者自定义Socket通信...

    java的常用的获取时间的方法

    特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和最后一天等。 ### 1. 获取当前时间 Java...

    java获取两个时间的相隔时间,包括年、月、日、时、分、秒

    在这个类中,可能包含了各种方法来计算两个`java.util.Date`对象之间的时间差,包括年、月、日、时、分和秒。以下是一些关于如何在Java中处理此类问题的知识点: 1. **日期和时间类**:在Java中,`java.util.Date` ...

    java中计算某个月的工作日总共几天

    - `java.util.Calendar` 是一个抽象类,用于表示特定时间的日期和时间。 - 可以用来获取特定日期的日、月、年等信息,并可以用来设置或修改日期。 2. **Date 类**: - `java.util.Date` 类代表任意时间点的对象...

    java获取文件创建时间

    ### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO...

    java时间比较,java基础

    java java时间比较,java基础

    时间序列算法java实现

    Java作为一种广泛使用的编程语言,提供了丰富的库和工具来实现时间序列算法。本篇文章将深入探讨时间序列预测的基本原理,Java实现的关键步骤,以及如何通过实际的代码示例进行实践。 时间序列数据是按特定时间顺序...

    java获取今天、昨天、近一周、本周、本月时间段

    java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段

    JAVA读取视频时间

    在Java编程中,读取视频时间通常涉及到处理多媒体文件,特别是获取视频的长度或播放时长。这是一项关键任务,特别是在开发与视频相关的应用程序时,比如视频播放器、视频处理工具或者媒体管理系统。以下是一些关于...

    java中计算两个日期相差几天

    在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中的关键概念和技术细节。 #### ...

    java中的时间操作

    本文将深入探讨Java中关于时间操作的基本概念和技术,并重点介绍四种常见的应用场景:获取当前时间、获取某个时间的特定格式、设置时间以及进行时间的计算。 #### 一、获取当前时间 在Java中获取当前时间可以通过...

    java 获取标准北京时间

    java 获取标准北京时间 标准北京时间 北京时间 网络时间 internet时间

    用JAVA实现时间比较

    * 日期:2009年3月8日 * 功能:比较两个日期的大小 */ public class CompareDate { /** * 比较两个日期大小的方法 * @param date1 * @param date2 * @return */ public static int compareTo(String ...

Global site tag (gtag.js) - Google Analytics