java8提供的时间工具类

	//解析日期
    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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值