-
2019-03-14 18:38:49
public static void main(String[] args) { SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss"); Date time= null; Date now = null; try { time= sdf.parse("04:42:00"); now = sdf.parse(sdf.format(new Date())); if (time.before(now)) { //time时间是否在当前时间之前,为true则time时间已过 System.out.println("time时间已过"); } else { System.out.println("time时间未过"); } } catch (ParseException e) { e.printStackTrace(); } }
更多相关内容 -
java比较时间大小
2021-04-05 14:46:42我们做一些业务开发的时候,经常会遇到关于日期的条件的判断,我举个例子:在一次列表中会有一次对日期的...可以理解为以括号里的日期为准,表示以它之前的日期来比较 2.after 表示在xxx之后,前面大后面小 那就是tr我们做一些业务开发的时候,经常会遇到关于日期的条件的判断,我举个例子:在一次列表中会有一次对日期的筛选,这时如果用户选择时间2021-4-5~2021-4-4 这种格式的。这时我们就应该给他提示开始时间不能大于结束时间,这种就是逻辑错误!
我在网上找了一些资料:1.before
英文翻译就是 在xxx之前 意思就是前面的参数小后面参数大 那就是true
格式: xx.before(xx)
可以理解为以括号里的日期为准,表示以它之前的日期来比较2.after
表示在xxx之后,前面大后面小 那就是true
格式 : xx.after(xx)
同理:以括号为中心,以它之后的日期为true例子:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = sdf.parse("2019-5-28"); Date d2 = sdf.parse("2019-5-28"); System.out.println("d1=d2时,before函数:"+d1.before(d2)); System.out.println("d1=d2时,after函数:"+d1.after(d2)); d1 = sdf.parse("2019-5-28"); d2 = sdf.parse("2019-5-29"); System.out.println("d1<d2时,before函数:"+d1.before(d2)); System.out.println("d1<d2时,after函数:"+d1.after(d2)); d1 = sdf.parse("2019-5-28"); d2 = sdf.parse("2019-5-27"); System.out.println("d1>d2时,before函数:"+d1.before(d2)); System.out.println("d1>d2时,after函数:"+d1.after(d2)); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date s1 = sdf1.parse("2019-5-28 12:30:25"); Date s2 = sdf1.parse("2019-5-28 12:31:25"); System.out.println("s1.before(s2) = " + s1.before(s2));
答案:
d1=d2时,before函数:false d1=d2时,after函数:false d1<d2时,before函数:true d1<d2时,after函数:false d1>d2时,before函数:false d1>d2时,after函数:true s1.before(s2) = true
总结:
1.比较的时候,最好是年月日时分秒 ,不然年月日比较可能会存在一样的情况,那么就会一直返回false
2.before: 可以理解为 xx1<xx2 ,前面小于后面 为true ,前小后大 true
after :可以理解为xx1>xx2 前面大后面小 为true , 前大后小 true3.getTime
语法:xx.getTime 其中xx是Date类型
表示会把指定的日期类型转为时间戳
例子:SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date s1 = sdf1.parse("2019-5-28 12:30:25"); Date s2 = sdf1.parse("2019-5-28 12:31:25"); long time = s1.getTime(); long d2Time = s2.getTime(); System.out.println("time = " + time); System.out.println("d2Time = " + d2Time); System.out.println(time==d2Time);
答案:
time = 1559017825000 d2Time = 1559017885000 false
注意:我们可以将getTime转换为包装器类型 然后使用compareTo来进行比较
-
java计算时间差及比较时间大小
2021-03-09 21:19:54java计算时间差及比较时间大小javaz中对日期时间的处理比较多,代码中列出了3中日期时间计算差值的方法。比如:现在是2004-03-26 13:31:40过去是:2004-01-02 11:30:24我现在要获得两个日期差,差的形式为:XX天...java计算时间差及比较时间大小
javaz中对日期时间的处理比较多,代码中列出了3中日期时间计算差值的方法。
比如:现在是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");
-
java判断时间大小
2010-08-17 16:33:55经常在网上搜东西都搜不到,更有人上传点没用了,现在我解决了就把解决方法上传上吧. -
Java 日期大小比较
2022-02-14 14:41:21Java日期的大小比较是工作中常会遇到的问题,目前我找到3种常用的方法。 一、日期为String类型 可以使用String的compareTo方法, 注意日期格式必须一致。 String date1 = "20220214"; String date2 = "20210114"; ...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"); }
-
JAVA —— 比较日期时间大小
2018-11-08 18:00:00使用场景:根据日期查询记录(如日志类表)时,为避免日期时间超出范围或超出当前最新时间出现报错,需要通过比较日期时间来做条件判断。 一、比较 年 月 日 import java.text.ParseException; import java.text.... -
java时间比较大小
2019-01-15 17:25:01之前有面试到两个日期的大小比较方式,现在整理一下几种方法。 例子: String beginTime=new String("2017-06-09 10:22:22"); String endTime=new String("2017-05-08 11:22:22"); 1 直接... -
Java 比较日期/时间的大小
2020-05-27 11:02:37在Java开发中经常会用到日期的比较,像给定一个日期和当前日期进行比较,或者给定两个日期进行时间先后的比较,还有取两个日期之间的记录等等。 Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,... -
Java日期比较大小的几种方式
2020-11-15 12:09:31日期比较在开发里面很是常见,我也踩了不少坑,本文就列举一下Java日期比较的方式 一、字符串String的日期比较 String型的日期通过compareTo()来比较,因为String实现了comparable接口 这里我们比较的是endDate、... -
Java String类型时间比较大小
2021-02-26 13:00:50Java String类型时间比较大小,写了比较时间的函数,这里总结一下。package com.zz.bridge.impl;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util... -
java怎么比较时间的大小
2021-02-13 02:34:29展开全部例子:String beginTime=new String("2017-06-09 10:22:22");String endTime=new String(...直接用Date自带方法before()和after()比较SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"... -
Java比较两个时间大小方法记录
2018-03-15 17:57:58这个地方时间规格可根据自己的需求修改 long result = sdf.parse(start).getTime() - sdf.parse(end).getTime(); return result 0L ?Integer. valueOf (- 1 ):(result == 0L ?Integer. valueOf ( 0 ):... -
java Date型时间比较大小
2021-02-12 16:41:46方式一:两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值...毫秒数越大的时间越大。String DateS... -
java中如何比较两个时间字符串的大小
2021-03-05 11:08:45然后再用毫秒数进行比较。 下面是简单的例子: function tab(date1,date2){ var oDate1 = new Date(date1); var oDate2 = new Date(date2); if(oDate1.getTime() > oDate2.getTime()){ console.log('第一个大'); ... -
Java日期比较大小
2021-03-08 05:36:50} } 方法三: 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 ... -
Java 比较两个时间 时分秒 大小
2021-06-11 10:58:59//当前时间 时分秒 GregorianCalendar calendar = new GregorianCalendar(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = ... -
JAVA中的时间大小比较
2018-06-11 13:25:531.时间的比较 import java.text.DateFormat; import java.text.ParseException; import java.text.Simpl -
java中Long类型比较大小和long类型的比较大小java中Long类型比较大小和long类型的比较大小
2021-02-26 15:15:58今天遇到这样一个问题,我用 "=="来比较两个Long类型的数据,明明数值都相等,可是结果就是false这要说到==和 equals 的区别了。1. ==比较的是两个对象在内存中的地址值(栈中的内容)。2.equals 是 java.lang.Object ... -
java中时间大小比较
2018-09-03 11:48:331.如果时间都是字符串尖型 String time1="2018-09-03"; String time2="2018-09-05"; int res=time1.compareTo(time2); if(res>0){ System.out.println("time1 > time2&... -
【Java基础】比较时间大小(以HH:mm:ss格式为例)
2019-10-23 18:34:46时间格式化hh:mm:ss和HH:mm:ss区别 hh:mm:ss : 按照12小时制的格式进行字符串格式化 HH:mm:ss : 按照24时制的格式进行字符串格式化 /** * 校验开始时间是否大于结束时间 * * @param startTime 开始时间字符串 * ... -
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... -
java比较两个日期时间,比较两个日期大小
2021-04-16 18:11:03比较两个日期时间,比较两个日期大小 我们经常会遇到一个问题,比较两个时间的大小,或者需要判断一个时间在另一个时间之前,还要精确到秒,这个时候经常会有一些人卡住。这个时候我们来讲解一下java8的新日期时间类... -
Java时间大小比较
2016-12-02 11:37:04import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test { private static SimpleDateFormat sdf = new SimpleDateFormat -
Java时间大小比较详解
2021-02-28 14:05:11import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Test {private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM... -
java 比较两时间字符串大小 ,实现 时间上的迟到、早退判断
2022-04-13 11:11:55java 比较两时间字符串大小 ,实现 时间上的迟到、早退判断 -
java与当前时间比较大小
2020-08-27 16:00:08* 与当前时间比较大小 * @param data 比较时间 **/ public static int compareToCurrentTime(Date date){ int num = 0; //当前时间 long currentTime = System.currentTimeMillis(); long argTime = date.... -
Java比较日期大小的几种方法
2020-12-09 13:44:15例子: String beginTime=new String(“2017-...1. 直接用Date自带方法before()和after()比较 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date sd1=df.parse(beginTime); Date sd2=df.p.