现在java更新的版本还是比较多,现在生产上大家一般都是用的java8,但是在项目的代码里面,还是会经常看到大家有很多java7及以前的一些写法,今天这篇我们就来介绍下java8里面的日期类型如何编写。
备注:在这里推荐大家尽可能的使用java8的语法,因为java8的语法从简洁性和代码量相对来说都比较少,可以更快的完成项目里的编码要求。
一、java如何获取现在的日期
在以前的写法里面,大家经常使用new date() 在java8里面建议大家使用 LocalDate now = LocalDate.now(); 这时候输出的now是: 2022-07-27
二、java8如何获取对应的年月日的信息
LocalDate now = LocalDate.now(); int year = now.getYear(); int month = now.getMonthValue(); int day = now.getDayOfMonth(); 然后我们输出对应的year或者month或者day即可。
三、java8中如何创建一个特定的日期,例如:创建2020-07-01
LocalDate date = LocalDate.of(2020, 07, 01); System.out.println(date); 这时候输出的值就是:2020-07-01
四、java8中如何判断两个日期是否是一样的
LocalDate now = LocalDate.now();
LocalDate date = LocalDate.of(2022, 07, 27);
if (date.equals(now)) {
System.out.println("当前两个日期是同一天");
}else{
System.out.println("当前两个日期不是同一天");
}
直接使用equals进行比较即可。五、java8中如何判断当前日期是哪一天,例如:判断下今天是不是7月27日
LocalDate now = LocalDate.now();
MonthDay day = MonthDay.of(7, 27);
MonthDay current = MonthDay.from(now);
if (currentMonthDay.equals(day)) {
System.out.println("今天是7月27日");
} else {
System.out.println("今天不是7月27日");
}六、java8中如何获取当前时间
LocalTime localTime = LocalTime.now(); System.out.println(localTime); 这里打印的结果是:14:29:03.308 可以看到这里是获取当前的时间,没有日期,所以像这种可以表达出现在是几点几份几秒。
七、在现有的时间上增加小时/分钟/秒
LocalTime now = LocalTime.now(); System.out.println(now); now.plusHours(2);// 增加2小时 now.plusMinutes(2);// 增加2分钟 now.plusSeconds(2);// 增加2秒 now.plus(1, ChronoUnit.WEEKS);//增加一周,这里就比较灵活,可以增加天,周,月,小时,分钟,秒等
八、java8 如何判断一个时间比另外一个时间早或者晚
LocalDate day = LocalDate.of(2018,6,20);
LocalDate now = LocalDate.now();
if(day.isAfter(now)){
//TODO
}
if(day.isBefore(now)){
//TODO
}九、java8中计算两个日期相差的月数
LocalDate date = LocalDate.of(2019, 3, 20);
LocalDate now = LocalDate.now();
Period period = Period.between(now, date);
System.out.println("相差" + period.toTotalMonths() + "月");
System.out.println("相差" + (now.toEpochDay() - date.toEpochDay()) + "天");十、java8中获取完整的日期和时间
Instant timestamp = Instant.now(); System.out.println(timestamp); 这里相当于new date(),输出为:2022-07-27T06:44:42.321Z
十一、java8中如何解析日期
String dateStr= "2018年06月20日";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
LocalDate date= LocalDate.parse(dateStr, formatter);十一、java8中如何将日期转换为字符串
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
String nowStr = now .format(format);
System.out.println(nowStr);
还没有评论,来说两句吧...