//解析日期
String dateStr= "2016年10月25日";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
LocalDate date= LocalDate.parse(dateStr, formatter);
System.out.println("date ==> " + date);// date ==> 2016-10-25
//日期转换为字符串
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy年MM月dd日 hh:mm a");
String nowStr = now .format(format);
System.out.println("nowStr ==> "+ nowStr);// nowStr ==> 2018年12月28日 11:47 上午
// 获取当前日期
LocalDate ld = LocalDate.now();
System.out.println("获取当前日期 ==> " + ld);// 获取当前日期 ==> 2018-12-28
//获取当前的年月日
int year = ld.getYear();
int month = ld.getMonthValue();
int day = ld.getDayOfMonth();
System.out.println("年:" + year + " 月:" + month + " 日:" + day);// 年:2018 月:12 日:28
DayOfWeek week = ld.getDayOfWeek();// 当前是星期几
System.out.println("week:" + week);// week:FRIDAY
int dayOfYear = ld.getDayOfYear();// 代表当前的日期处于一年当中 365 天的哪一天
System.out.println("dayOfYear:" + dayOfYear);// dayOfYear:362
LocalDate lcl = LocalDate.of(2020, 2, 5);
System.out.println("lcl:" + lcl);// 输出结果:lcl:2020-02-05
// 获取指定时间,具体到毫秒
LocalDateTime lct = LocalDateTime.now();
System.out.println(lct);// 2018-12-28T11:52:25.680
// 指定具体时间
LocalDateTime lct1 = LocalDateTime.of(1998, 3, 4, 14, 33);
System.out.println(lct1);// 1998-03-04T14:33
// 判断两个日期是否相等
LocalDate lld1 = LocalDate.now();
LocalDate lld2 = LocalDate.of(2018, 12, 28);// 输出结果:日期相等
if (lld1.equals(lld2)) {
System.out.println("日期相等");
}
// 判断是不是生日,比如以我的生日举例声明
LocalDate ldt = LocalDate.of(1994, 10, 7);
LocalDate ldt1 = LocalDate.of(2020, 10, 8);
MonthDay md = MonthDay.of(ldt.getMonth(), ldt.getDayOfMonth());
MonthDay md1 = MonthDay.of(ldt1.getMonth(), ldt1.getDayOfMonth());
if (md.equals(md1)) {
System.out.println("陈坤生日快乐");
}
// 从当前时间,向前或向后
LocalDate lde = LocalDate.now();
LocalDate lde1 = lde.plusDays(5);
System.out.println(" 向后数 5 天 "+lde1);// 向后数 5 天 2019-01-03
LocalDate lde2 = lde.minusDays(5);
System.out.println("向前数 五 天 " + lde2);// 向前数 五 天 2018-12-24
LocalDate lde3 = lde.minusWeeks(1);
System.out.println("向前数 一周 " + lde3);// 向前数 一周 2018-12-22
// 判断一个日期是在另一个日期前面还是后面
LocalDate today = LocalDate.now();
LocalDate tomorrow = LocalDate.of(2018, 12, 30);
if (today.isBefore(tomorrow)) {
System.out.println(true);
}
if (tomorrow.isAfter(today)) {
System.out.println(true);
}
// java中如何表示固定的日期
YearMonth ym = YearMonth.of(2018, Month.FEBRUARY);
System.out.println(ym.lengthOfMonth());// 2018年的2月是28天
// 判断是否为闰年
LocalDate date1 = LocalDate.now();
if (!date1.isLeapYear()) {
System.out.println(date1 + ":" + "不是闰年");
}
// 获取两个日期之间的数据
LocalDate date2 = LocalDate.of(2000, 10, 07);
Period per = Period.between(date2, date1);
System.out.println("days:" + per.getDays());
System.out.println("years:" + per.getYears());
System.out.println("months:" + per.getMonths());
//days:22
//years:18
//months:2
// 相差 18 年, 2 个月 ,22 天
// java 8获取当前时间戳
Instant is = Instant.now();
System.out.println(is);
// 格式化输出日期
String goodFriday = "2008-10-07";
DateTimeFormatter formatt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate holiday = LocalDate.parse(goodFriday, formatt);
System.out.println(holiday);
//将日期格式化,转化成字符串
LocalDateTime ldtt = LocalDateTime.now();
DateTimeFormatter formattt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String str = ldtt.format(formattt);
System.out.println(str);
// 输出结果:2018-12-29 15:00:41
java8提供的时间工具类
最新推荐文章于 2024-10-03 08:33:02 发布