//早于截止时间
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中实现日期与时间的比较,包括使用`SimpleDateFormat`、`Date`、`Calendar`等类进行时间格式化和比较的方法,并通过示例代码展示具体实现过程。 #### 二、使用`SimpleDateFormat`和`Date`...
Java时间大小的比较 date java
### Java 获取时间:本周、本年、本月的第一天与最后一天 在Java中,通过`Calendar`类可以方便地操作日期。以下将详细介绍如何利用`Calendar`类来获取本周、本年、本月的第一天和最后一天的具体实现方法。 #### ...
### 使用JS和Java返回三个月前的时间 在软件开发过程中,日期和时间的处理是一项非常常见的需求,尤其是在涉及历史数据查询、统计分析等场景时。本文将详细介绍如何使用JavaScript(JS)和Java这两种语言来实现获取...
Java 字符串转换为日期和时间比较大小 Java 字符串转换为日期和时间比较大小是 Java 开发中常见的操作。下面我们将详细介绍两种方法来实现 Java 字符串转换为日期和时间比较大小。 方法一:使用 SimpleDateFormat ...
在Java编程语言中,比较时间前后是一个非常实用且常见的需求,尤其是在处理日期和时间相关的业务逻辑时。本文将详细介绍如何在Java中实现时间的比较,并给出具体的代码示例以及一些扩展应用。 ### Java中比较时间的...
- `Duration`和`Period`:分别用于表示时间和日期的跨度,提供了计算两个日期或时间差的方法。 9. **日期时间的格式化和解析最佳实践:** - 使用`java.time`包的类而非`Date`,因为它们提供了更好的API和更少的...
NTP是一个用于同步网络中不同计算机时钟的协议,它通过比较服务器和客户端的时间戳来调整本地时间。Java虽然没有内置的NTP客户端,但可以通过第三方库如`com.sun.jna`(Java Native Access)或者自定义Socket通信...
特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和最后一天等。 ### 1. 获取当前时间 Java...
在这个类中,可能包含了各种方法来计算两个`java.util.Date`对象之间的时间差,包括年、月、日、时、分和秒。以下是一些关于如何在Java中处理此类问题的知识点: 1. **日期和时间类**:在Java中,`java.util.Date` ...
- `java.util.Calendar` 是一个抽象类,用于表示特定时间的日期和时间。 - 可以用来获取特定日期的日、月、年等信息,并可以用来设置或修改日期。 2. **Date 类**: - `java.util.Date` 类代表任意时间点的对象...
### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO...
java java时间比较,java基础
Java作为一种广泛使用的编程语言,提供了丰富的库和工具来实现时间序列算法。本篇文章将深入探讨时间序列预测的基本原理,Java实现的关键步骤,以及如何通过实际的代码示例进行实践。 时间序列数据是按特定时间顺序...
java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段
在Java编程中,读取视频时间通常涉及到处理多媒体文件,特别是获取视频的长度或播放时长。这是一项关键任务,特别是在开发与视频相关的应用程序时,比如视频播放器、视频处理工具或者媒体管理系统。以下是一些关于...
在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中的关键概念和技术细节。 #### ...
本文将深入探讨Java中关于时间操作的基本概念和技术,并重点介绍四种常见的应用场景:获取当前时间、获取某个时间的特定格式、设置时间以及进行时间的计算。 #### 一、获取当前时间 在Java中获取当前时间可以通过...
java 获取标准北京时间 标准北京时间 北京时间 网络时间 internet时间
* 日期:2009年3月8日 * 功能:比较两个日期的大小 */ public class CompareDate { /** * 比较两个日期大小的方法 * @param date1 * @param date2 * @return */ public static int compareTo(String ...