精华内容
下载资源
问答
  • 日期大小比较

    2020-05-12 13:06:04
    //比较日期大小 function CompareDate(date1, date2) { var oDate1 = new Date(date1); var oDate2 = new Date(date2); if (oDate1.getTime() > oDate2.getTime()) { return false; } else { return true; ...
    //比较日期大小
    function CompareDate(date1, date2) {
        var oDate1 = new Date(date1);
        var oDate2 = new Date(date2);
        if (oDate1.getTime() > oDate2.getTime()) {
            return false;
        } else {
            return true;
        }
    }
    
    展开全文
  • 在开发中经常会用到日期比较,像给定一个日期和当前日期进行比较,或者给定两个日期进行时间先后的比较,还有取两个日期之间的记录等等。现在整理一下几种方法。先定义几个日期,以便下文进行测试:String begin...

    前言

    在 Java 语言中,日期在计算机内部表示为(long型)时间点——自1970年1月1日以来经过的毫秒数。在开发中经常会用到日期的比较,像给定一个日期和当前日期进行比较,或者给定两个日期进行时间先后的比较,还有取两个日期之间的记录等等。现在整理一下几种方法。

    先定义几个日期,以便下文进行测试:

    String beginTime = new String("2020-08-09 13:32:20");

    String endTime= new String("2099-10-08 11:21:32");

    SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date beginDate=df.parse(beginTime);

    Date endDate=df.parse(endTime);

    LocalDate beginDateLoc= LocalDate.of(2020, 8, 9);

    LocalDate endDateLoc= LocalDate.of(2099, 10, 8);

    LocalDate自带方法isBefore、isAfter和isEqual

    使用JDK8新增的函数 isBefore()、isAfter()和isEqual()来比较 LocalDate、LocalTime 和 LocalDateTime,本文仅以LocalDate为例。

    if(beginDateLoc.isBefore(endDateLoc)) {

    System.out.println("beginDate is before endDate");

    }if(beginDateLoc.isAfter(endDateLoc)) {

    System.out.println("beginDate is after endDate");

    }if(beginDateLoc.isEqual(endDateLoc)) {

    System.out.println("beginDate is equal to endDate");

    }

    LocalDate自带方法compareTo

    System.out.println(beginDateLoc.compareTo(endDateLoc));

    endDateLoc= LocalDate.of(2020, 6, 18);

    System.out.println(beginDateLoc.compareTo(endDateLoc));

    compareTo(ChronoLocalDate other)方法用法描述:如果此 Date等于参数 other,则返回0;如果在 other之前,则返回小于 0 的值;否则,返回大于 0 的值。

    Date自带方法before和after比较

    System.out.println(beginDate.before(endDate));

    System.out.println(beginDate.after(endDate));

    System.out.println(beginDate.equals(endDate));

    温馨提示:日期格式必须一致。

    把日期转化成长整型进行比较

    /*** 功能描述:求两个时间相减后的毫秒数。

    * 差格式化时间后,计算 endDt 减 beginDt 的秒数。

    * millDif >0 : endDt > beginDt

    *

    *@parambeginDt 开始时间

    *@paramendDt 结束时间

    *@returnLong 时间差,单位:milliseconds*/

    public staticLong getMillSub(String beginDt, String endDt, String formatStr) {long millDif = 0;if(StringUtils.isBlank(formatStr)) {

    formatStr= "yyyy-MM-dd";

    }try{

    SimpleDateFormat df= newSimpleDateFormat(formatStr);

    Date beginDate=df.parse(beginDt);

    Date endDate=df.parse(endDt);

    millDif= endDate.getTime() -beginDate.getTime();

    }catch(Exception e) {

    log.error("日期转换失败,", e);return null;

    }returnmillDif;

    }

    Calender自带方法before()和after()

    Calendar 类也有 compareTo、equals、after 和 before 方法,工作方式与上面描述的 Date 类的方法类似。因此,如果日期信息保存在 Calendar 类中,则不需要提取日期进行比较。

    Calendar cal1 =Calendar.getInstance();

    Calendar cal2=Calendar.getInstance();

    cal1.setTime(beginDate);

    cal2.setTime(endDate);if(cal1.after(cal2)) {

    System.out.println("beginTime is after endTime");

    }if(cal1.before(cal2)) {

    System.out.println("beginTime is before endTime");

    }if(cal1.equals(cal2)) {

    System.out.println("beginTime is equal to endTime");

    }

    小结

    本文主要总结了在 Java 中比较日期的几种常用方法,以提高自己实际操作的能力。

    文章到这里就结束了,看完之后你有什么想法想要跟大家分享呢?评论区在等着你!

    展开全文
  • 之前有面试到两个日期大小比较方式,现在整理一下几种方法。例子: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);

    展开全文
  • 输入的日期跟当前日期比较大小日期在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")

    执行结果:

    6f0baecc65a42c9efc213b6bc521ff9f.png

    展开全文
  • python 日期大小比较

    万次阅读 2018-09-28 23:04:48
    输入的日期跟当前日期比较大小  日期在python中 存在time,datetime,string三种形式转化如下  #str转time  time.strptime('2018-09-28',"%Y-%m-%d") #str转datetime datetime.datetime.striptime...
  • 之前有面试到两个日期大小比较方式,现在整理一下几种方法。例子:String beginTime=new String("2017-06-09 10:22:22");String endTime=new String("2017-05-08 11:22:22");1 直接用Date自带方法before()和after...
  • //直接用Date自带方法before()和after()比较public static void main(String[] args) throws ParseException {String beginTime=new String("2017-05-08 11:22:22");String zhongjianTime=new String("2017-06-08 10...
  • 时间戳进行日期大小比较 -如果有这种情况,建议使用时间戳来比较大小,比如2021.01.01和2021.01.01,这种当天的比较,当前日期是一月一日,截止日期也是一月一日,这样比较时间=就是成立的,而用时间戳每次获取的当前...
  • //直接用Date自带方法before()和after()比较public static void main(String[] args) throws ParseException {String beginTime=new String("2017-05-08 11:22:22");String zhongjianTime=new String("2017-06-08 10...
  • java日期大小比较

    2019-09-27 06:39:17
    之前有面试到两个日期大小比较方式,现在整理一下几种方法。 例子: String beginTime=new String("2017-06-09 10:22:22"); String endTime=new String("2017-05-08 11:22:22"); 1 直接用Date自带方法before...
  • 一、两个日期大小比较 1、日期参数格式:yyyy-mm-dd 1 // a: 日期a, b: 日期b, flag: 返回的结果 2 function duibi(a, b,flag) { 3 var arr = a.split("-"); 4 var starttime = new Date(arr[0], arr[1], ...
  • 时间日期大小比较判断,时间戳/时间 - 转换 当前时间转为时间戳: var currentTimestamp = new Date().getTime(); 当前时间对象 var curDate = new Date(currentTimestamp); // 当前时间日期对象 时间戳转为...
  • JS 日期比较大小的简单实例1,比较日期大小的js代码var beginDate=$("#beginDate").val();var endDate=$("#endDate").val();var d1 = new Date(beginDate.replace(/\-/g, "\/"));var d2 = new Date(endDate.replace...
  •  开始日期 dateTimePicker1为 2011-6-11 截止日期 dateTimePicker2为 2011-6-12 ... 如果截止日期大于开始日期,则弹出错误。  //////////////////////////////////////////////  DateTime time1
  • js 日期大小比较

    2016-06-02 15:23:00
    <!...<...<body><script>//获取起始日期//转换为日期格式var startDate='2016-06-02'.replace(/-/g,"/");//获取结束日期var endDate='2016-06-01'.replace...console.log(1)//如果起始日期大于结束日期...
  • java 日期大小比较

    2018-02-11 10:10:01
    //设置日期格式 String date = sdf.format(new Date()); sdf.parse(qssj); sdf.parse(jssj); sdf.parse(date); int res = sdf.parse(qssj).compareTo(sdf.parse(date)); int res1 = sdf....
  • 一、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 ......
  • 假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:select * from product where add_time = '...2013-01-12 23:23:56这种格式你就悲剧了,这时你就可以使用DATE()函数用来返回日期的...
  • 日期大小比较与验证

    2019-09-17 13:46:34
    //验证日期是否合法 if(!valid(date1)){ alert("日期不合法"); return false; }else{ alert("正确的日期"); } } if(date2 != ""){ //验证日期是否合法 if(!valid...
  • 日期大小比较JS方法

    2018-01-24 11:26:00
    //判断开始日期是否大于结束日期,注意,该方法仅仅适用于“2010-01-01”这样的日期格式! function datedaxiao(t1,t2){ var strs1= new Array(); //定义一数组 strs1=t1.split("-"); //字符分割 var strs2= new ...
  • 3、日期大小比较 function compareTime(date1,date2){ var oDate1 = new Date(date1); var oDate2 = new Date(date2); if(oDate1.getTime() > oDate2.getTime()){ console.log('第一个大'); } else { ...
  • C#--日期大小比较

    2019-10-08 15:16:54
    日期字符串转换为日期对象 DateTime t1 = Convert.ToDateTime(value1); DateTime t2 = Convert.ToDateTime(value2); // 通过DateTIme.Compare()进行比较() int compNum = DateTime.Compare(t1, t2)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,696
精华内容 1,078
关键字:

日期大小比较