zoukankan      html  css  js  c++  java
  • java Date 大坑

    之前上学时学过java,第一次参与一个java项目,没有LINQ的日子怎么过,要获取一个today和yesterday都如此艰难,这语言还是太落后了,或许只是java8落后吧,听说有新版本了

    public static Date getNextDay(Date day) {
            Calendar c = Calendar.getInstance();
            c.setTime(day);
            c.add(Calendar.DAY_OF_MONTH, 1);
            return c.getTime();
        }
    
        public static Date getPreviousDay(Date day) {
            Calendar c = Calendar.getInstance();
            c.setTime(day);
            c.add(Calendar.DAY_OF_MONTH, -1);
            return c.getTime();
        }

    不过还好javascript支持linq,后端不行,前端处理吧

    我已经和java的Date对抗了12小时,我可能已经理解了这个Date了吧,又遇到一个奇葩问题

    SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
    Date today = sd.parse(sd.format(new Date()));
    Date beginDate = new Date(2021,11,15);
    Date endDate = new Date(2021,12,16);
    int x = beginDate.compareTo(today);
    int y = endDate.compareTo(today);
    System.out.println("x=" + x + ",y=" + y);

    上面这段代码竟然返回都是 1,算了,原因我已经发贴问出来了,挺无语的

    这样才可以

    SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
    Date today = sd.parse(sd.format(new Date()));
    Date beginDate = sd.parse("2021-11-16");
    Date endDate = sd.parse("2021-12-16");
    int x = beginDate.compareTo(today);
    int y = endDate.compareTo(today);
    System.out.println("x=" + x + ",y=" + y);

    备忘一下,compareTo方法返回值的是前面的日期减去后面的日期。

    啥年代了,还用c语言的语法比较,我都记不住这语法

    桂棹兮兰桨,击空明兮溯流光。
  • 相关阅读:
    Java中Date和Calender类的使用方法
    看《做性能测试需要做些什么》
    【笔记】jquery append,appendTo,prepend,prependTo 介绍
    【实践】jquery实现滑动动画及轮播
    【实践】四联联动 + 更加优化
    【实践】jQuery实现三联联动
    关于导入excel报错的处理(xls,xlsx)
    递归算法及经典案例
    验证身份证真假
    正则表达式
  • 原文地址:https://www.cnblogs.com/nanfei/p/15560078.html
Copyright © 2011-2022 走看看