-
2022-02-14 14:41:21
Java日期的大小比较是工作中常会遇到的问题,目前我找到3种常用的方法。
一、日期为String类型
可以使用String的compareTo方法,
注意日期格式必须一致。String date1 = "20220214"; String date2 = "20210114"; if(date1.compareTo(date2) > 0) { System.out.println("date1 大于 date2"); }
二、日期为date类型
使用Date类型的before() 或 after() 方法
三、转换为秒比较大小
将日期转换为Date类型,使用getTime()方法,比较两日期的大小;
Date date1=df.parse(beginTime); Date date2=df.parse(endTime); long long1 =date1.getTime(); long long2= date2.getTime(); if(long1 > long2){ System.out.println("date1 > date2"); }
更多相关内容 -
详解Mysql中日期比较大小的方法
2020-09-09 10:21:03主要介绍了Mysql中日期比较大小的方法,需要的朋友可以参考下 -
日期比较大小
2019-03-28 16:24:42指定一个日期与当前系统的日期比较,看看哪个日期早,哪个日期晚,或者等于当天。 -
js日期时间比较大小
2013-10-31 15:07:15日期格式年月日(yyyy-mm-dd) 时间格式时分(hh:mm) -
SQL Server 比较日期大小的方法
2020-09-10 18:25:15介绍了SQL Server 比较日期大小的方法,有需要的朋友可以参考一下 -
js比较日期大小的方法
2020-10-24 06:19:39主要介绍了js比较日期大小的方法,涉及javascript日期的转化、匹配、比较等常用操作技巧,需要的朋友可以参考下 -
asp日期比较大小实例
2018-02-22 21:43:39日期比较大小,集所有格式,对你编写网页代码时,一看你就懂。 -
python 日期大小比较
2021-01-29 05:15:59输入的日期跟当前日期比较大小日期在python中 存在time,datetime,string三种形式转化如下#str转timetime.strptime('2018-09-28',"%Y-%m-%d")#str转datetimedatetime.datetime.striptime('2018-09-28',"%Y-%m-%d")#...输入的日期跟当前日期比较大小
日期在python中 存在time,datetime,string三种形式转化如下
#str转time
time.strptime('2018-09-28',"%Y-%m-%d")
#str转datetime
datetime.datetime.striptime('2018-09-28',"%Y-%m-%d")
#time 转string
time.strftime("%y-%m-%d",time.localtime())
需求实现:
import datetime
import time
#将日期字符串转为时间再比较,time,datetime,str
def valid_date(timestr):
#获取当前时间日期
nowTime_str = datetime.datetime.now().strftime('%Y-%m-%d')
print(nowTime_str)
#mktime参数为struc_time,将日期转化为秒,
e_time = time.mktime(time.strptime(nowTime_str,"%Y-%m-%d"))
print(e_time)
try:
s_time = time.mktime(time.strptime(timestr, '%Y-%m-%d'))
print(s_time)
#日期转化为int比较
diff = int(s_time)-int(e_time)
print(diff)
if diff >= 0:
return 1
else:
print('所查日期不能小于当前时间!!!')
return 0
except Exception as e:
print(e)
return 0
if __name__=='__main__':
valid_date("2018-10-07")
执行结果:
-
java日期大小比较
2021-02-12 09:18:06之前有面试到两个日期的大小比较方式,现在整理一下几种方法。例子:String beginTime=new String("2017-06-09 10:22:22");String endTime=new String("2017-05-08 11:22:22");1 直接用Date自带方法before()和after...之前有面试到两个日期的大小比较方式,现在整理一下几种方法。
例子:
String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22");
1 直接用Date自带方法before()和after()比较
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));
2 用String的compareTo()方法:
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致
3 转成date格式换成秒数比较秒数大小,getTime()方法
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime()
long long2= sd2.getTime()
另附日期和string的互转方法:
1 Date转String
Date d=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String ds=df.format(d);
2 String转Date
String ds=new String("2017-06-09 10:22:22");
Date sd=df.parse(ds);
---------------------
作者:心想事成All
来源:CSDN
原文:https://blog.csdn.net/yincan2011/article/details/76855061
版权声明:本文为博主原创文章,转载请附上博文链接!
-
Java日期比较大小
2021-03-08 05:36:50方法一:DateFormatfmt=newSimpleDateFormat("yyyy-MM-dd");StringdateBegin=fmt.format(carrierCommand.getDateBegin());StringdateEnd=fmt.format...//如果获得的日期格式不是'2008-05-22',就必须要...方法一:
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String dateBegin=fmt.format(carrierCommand.getDateBegin());
String dateEnd=fmt.format(carrierCommand.getDateEnd());
//如果获得的日期格式不是'2008-05-22',就必须要格式化一下日期
String dateBegin = request.getParameter("dateBegin");
String dateEnd = request.getParameter("dateEnd");
if(java.sql.Date.valueOf(dateBegin).after(java.sql.Date.valueOf(dateEnd))){
//起始日期大于结束日期
errors.rejectValue("dateEnd", null, "起始日期必须小于结束日期!");
}
StringBuffer timeBegin = new StringBuffer();
StringBuffer timeEnd = new StringBuffer();
timeBegin.append(request.getParameter("timeBegin"));
timeEnd.append(request.getParameter("timeEnd"));
timeBegin.append(":00");
timeEnd.append(":00");
if(java.sql.Date.valueOf(dateBegin).equals(java.sql.Date.valueOf(dateEnd)))
{ //起始日期等于结束日期
if(java.sql.Time.valueOf(timeBegin.toString()).equals(java.sql.Time.valueOf
(timeEnd.toString())))//时间相同
{
errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!");
}
if(java.sql.Time.valueOf(timeBegin.toString()).after(java.sql.Time.valueOf
(timeEnd.toString())))//时间相同
{
errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!");
}
}
方法二:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author hp
*/
public class test {
public static void main(String args[]) {
int i= compare_date("1995-11-12 15:21", "1999-12-11 09:59");
System.out.println("i=="+i);
}
public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime()
System.out.println("dt1在dt2后");
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
}
方法三:
比如:现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
java计算时间差及比较时间大小
比如:现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
一:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2004-03-26 13:31:40");
Date d2 = df.parse("2004-01-02 11:30:24");
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
}
catch (Exception e)
{
}
二:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2004-03-26 13:31:40");
java.util.Date date=df.parse("2004-01-02 11:30:24");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
三:
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒
long day1=between/(24*3600);
long hour1=between%(24*3600)/3600;
long minute1=between%3600/60;
long second1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");
====================================================
java 比较时间大小
String s1="2008-01-25 09:12:09";
String s2="2008-01-29 09:12:11";
java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Calendar c1=java.util.Calendar.getInstance();
java.util.Calendar c2=java.util.Calendar.getInstance();
try
{
c1.setTime(df.parse(s1));
c2.setTime(df.parse(s2));
}catch(java.text.ParseException e){
System.err.println("格式不正确");
}
int result=c1.compareTo(c2);
if(result==0)
System.out.println("c1相等c2");
else if(result<0)
System.out.println("c1小于c2");
else
System.out.println("c1大于c2");
-
php实现比较两个字符串日期大小的方法
2020-10-24 06:17:01主要介绍了php实现比较两个字符串日期大小的方法,涉及php日期操作的相关技巧,需要的朋友可以参考下 -
mysql中日期比较大小的方法
2021-01-19 06:01:22假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:select * from product where add_time = '...2013-01-12 23:23:56这种格式你就悲剧了,这是你就可以使用DATE()函数用来返回日期的... -
mysql 日期大小比较,加减 2019-06-25
2021-01-18 21:17:29日期比较最简单的方法,把日期转为时间戳, 直接使用mysql中的 unix_timestamp("时间或者列")函数SELECT b.end_time as "原合同",a.end_time as "续租合同",b.quit_action,b.contract_no,a.* from contracts a,... -
python3获取两个日期之间所有日期,以及比较大小的实例
2020-12-15 23:22:31如下所示:import datetime#获取两个日期间的所有日期def getEveryDay(begin_date,end_date):date_list = []begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")end_date = datetime.datetime.... -
Mysql 日期大小比较
2021-04-26 13:22:02Mysql 日期大小比较mysql 时间参数 年月日 时分秒 比较大小mysql 时间参数 年月日 比较大小 mysql 时间参数 年月日 时分秒 比较大小 <select id="checkTimeRepeatNum" parameterType="HomepageAdvertisement" ... -
Hive 日期取时间 比较大小
2021-10-28 11:52:05select substring('2021-10-27 01:27:15',12,length('2021-10-27 01:27:15')) ; -- 01:27:15 select substring('2021-10-27 01:27:15',12,length('2021-10-27 01:27:15')) < '23:59:59' -- true ... -
python3获取两个日期之间所有日期,以及比较大小(方法教程)
2020-12-22 03:22:08python3获取两个日期之间所有日期,以及比较大小(方法教程)。import datetime#获取两个日期间的所有日期def getEveryDay(begin_date,end_date):date_list = []begin_date = datetime.datetime.strptime(begin_date, ... -
Java日期比较大小的几种方式
2020-11-15 12:09:31这里我们比较的是endDate、today的大小today.compareTo(endDate)来判断红包是否过期不可领取 endDate表示 红包失效的日期 today表示当前时间(今天) today.compareTo(endDate) >0 说明今天日期 相对晚 ,大于红包... -
String类型日期比较大小
2020-07-03 09:19:31Strings1="2003-12-12"; Strings2="2004-04-01"; intres=s1.compareTo(s2); 这个时候res<0,所以s1<s2。大概就是这样,直接比较String就OK了。 -
oracle数据库 日期大小比较
2020-11-20 13:12:28一、SQL语句 SELECT * FROM USER WHERE TIME < to_date( ' 2020-11-07 00:00:00 ', ' yyyy-mm-dd hh24:mi:ss ' ) AND TIME >= to_date( ' 2020-07-07 00:00:00 ', ' yyyy-mm-dd hh24:mi:ss ...... -
JS比较两个日期的大小
2018-08-03 17:57:47最近遇到一个问题是关于日期的大小比较,如果日期不同位就会出现判断错误,所以这里惊醒一下自己。出现这个情况的原因是,字符串比较小,遵循从左到右的原则,’2’和’1314’比较,’2’大于’1314’。 方法一: ... -
java比较两个日期的大小,与当前日期比较大小
2019-08-01 11:08:11//比当前日期小返回-1 相等返回 0 比当前日期大 返回1 int a=timeCompare(time,dateString) System.out.println(a); } /*时间比大小*/ public static int timeCompare(String t1,String t2){ SimpleDateFormat ... -
【varchar】oracle中比较日期大小日期定义的是varchar2类型的...
2021-05-08 04:49:16【答案】 SELECT COUNT(*) AS 几位同学, SUM(L2.SCORE) 分值之和FROM (select DISTINCT L1.NAME, L1.SCOREFROM (SELECT TA.*FROM TAWHERE to_date(DECODE(TA.DATEB,'null',TO_CHAR(SYSDATE, 'YYYY/MM/DD'),... -
Python比较两个日期大小
2019-11-09 14:09:29比较大小 def date_compare(date1, date2, fmt='%Y-%m-%d') ->... 比较两个真实日期之间的大小,date1 > date2 则返回True :param date1: :param date2: :param fmt: :return: """ zero = ... -
iOS 比较两个日期的大小
2019-10-16 10:15:50比较两个日期的大小(日期格式为yyyy-MM-dd HH:mm:ss) + (NSInteger)compareDate:(NSString*)aDate withDate:(NSString*)bDate { NSInteger aa = 0; NSDateFormatter *dateformater = [[NSDateFormatter alloc]... -
Vue 两个日期比较大小
2020-09-16 15:16:12//正确 //比较两个日期的大小 export function comparedate(date1, date2) { let oDate1 = new Date(date1); let oDate2 = new Date(date2); if (oDate1.getTime() == oDate2.getTime()) { return true; } else ... -
sqlserver比较日期大小
2020-01-15 17:02:47sqlserver比较日期大小 通常sqlserver并不能直接比较日期大小,需用convert函数转换为响应的格式。 常用 convert(varchar(8),getnow(),112) 对 convert(data_type(length),data,style) ,把 data 按格式 style ... -
JAVA —— 比较日期时间大小
2018-11-08 18:00:00使用场景:根据日期查询记录(如日志类表)时,为避免日期时间超出范围或超出当前最新时间出现报错,需要通过比较日期时间来做条件判断。 一、比较 年 月 日 import java.text.ParseException; import java.text.... -
java比较String类型日期的大小
2019-03-25 15:01:29* 字符串转换为日期 * @param s * @return * @throws ParseException */ public static Date stringToDate ( String s ) { String format = "yyyy-MM-dd" ; try { return new ...