java Date 大坑

java

之前上学时学过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 大坑 的全部内容, 来源链接: utcz.com/z/392673.html

回到顶部