JDK1.8及以后的时间日期类对时间的相关操作

package com.hncu.jdk8date;

import java.time.LocalDateTime;

public class JDK8DateDemo1 {
    public static void main(String[] args) {
        //获取系统当前时间
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
        //获取指定时间
        LocalDateTime localDateTime = LocalDateTime.of(2022, 11, 11, 11, 11, 11);
        System.out.println(localDateTime);
    }
}
package com.hncu.jdk8date;

import java.time.DayOfWeek;
import java.time.LocalDateTime;

public class JDK8DateDemo2 {
    public static void main(String[] args) {
        LocalDateTime time = LocalDateTime.of(2022,5,2,13,14,20);
        //获取年份
        int year = time.getYear();
        System.out.println(year);

        //获取月份
        int monthValue = time.getMonthValue();
        System.out.println(monthValue);

        //获取月份中的第几天
        int dayOfMonth = time.getDayOfMonth();
        System.out.println(dayOfMonth);

        //获取年份中的第几天
        int dayOfYear = time.getDayOfYear();
        System.out.println(dayOfYear);

        //获取星期几
        DayOfWeek dayOfWeek = time.getDayOfWeek();
        System.out.println(dayOfWeek);

        //获取分钟
        int minute = time.getMinute();
        System.out.println(minute);

        //获取小时
        int hour = time.getHour();
        System.out.println(hour);
    }
}
package com.hncu.jdk8date;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class JDK8DateDemo3 {
    //LocalDateTime转换方法
    public static void main(String[] args) {
        LocalDateTime localDateTime = LocalDateTime.of(2022,11,11,11,11,11);
        //只要日期
        LocalDate localDate = localDateTime.toLocalDate();
        System.out.println(localDate);          //2022-11-11
        //只要时间
        LocalTime localTime = localDateTime.toLocalTime();
        System.out.println(localTime);         //11:11:11
    }
}
package com.hncu.jdk8date;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class JDK8DateDemo4 {
    //LocalDateTime类中的格式化与解析方法
    public static void main(String[] args) {
        //格式化
        method1();

        //解析
        method2();

    }

    private static void method2() {
        //要解析的字符串
        String s1 = "2022年01月08日 19:58:20";
        //即将要解析的格式
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        //解析后返回默认的格式
        LocalDateTime parse = LocalDateTime.parse(s1,pattern);
        System.out.println(parse);      //2022-01-08T19:58:20
    }

    private static void method1() {
        //自定义一个时间
        LocalDateTime localDateTime = LocalDateTime.of(2022,11,11,11,11,11);
        //输入格式
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        //返回格式化后的时间
        String s = localDateTime.format(pattern);
        System.out.println(s);          //2022年11月11日 11:11:11
    }
}
package com.hncu.jdk8date;

import java.time.LocalDateTime;

public class JDK8DateDemo5 {
    //时间的修改之plus
    public static void main(String[] args) {
        //自定义一个时间
        LocalDateTime dateTime = LocalDateTime.of(2022, 1, 8, 20, 20, 30);
        //年份加1,其他的类推
        LocalDateTime newdatetime = dateTime.plusYears(1);//如果是负数则为减,为0则不变
        System.out.println(newdatetime);
    }
}
package com.hncu.jdk8date;

import java.time.LocalDateTime;

public class JDK8DateDemo6 {
    //直接修改时间
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.of(2022,1,9,13,14,15);
        //年份修改为2024年
        LocalDateTime localDateTime = dateTime.withYear(2024);
        //月份修改为9月
        LocalDateTime localDateTime1 = dateTime.withMonth(9);
        System.out.println(localDateTime1);     //2022-09-09T13:14:15
        System.out.println(localDateTime);      //2024-01-09T13:14:15

    }
}
package com.hncu.jdk8date;

import java.time.LocalDate;
import java.time.Period;

public class JDK8DateDemo7 {
    /*
    计算两个时间的间隔
     */
    public static void main(String[] args) {
        LocalDate localDate1 = LocalDate.of(2022, 1, 3);
        LocalDate localDate2 = LocalDate.of(2023, 10, 20);
        Period period = Period.between(localDate1, localDate2);
        //打印PPeriod对象,第一位数字代表间隔年数,第二数字代表间隔月数,第三数字就是间隔日数
        System.out.println(period);     //P1Y9M17D
        //间隔年数
        System.out.println(period.getYears());      //1
        //间隔月数
        System.out.println(period.getMonths());     //9
        //间隔天数
        System.out.println(period.getDays());       //17
        //间隔总月数
        System.out.println(period.toTotalMonths()); //21
    }
}
package com.hncu.jdk8date;

import java.time.Duration;
import java.time.LocalDateTime;

public class JDK8DateDemo8 {
    /*
    计算时间间隔(秒)
     */
    public static void main(String[] args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022,11,11,11,11,20,11);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022,11,12,12,12,19,7);
        Duration duration = Duration.between(localDateTime1, localDateTime2);
        //各种时间差
        System.out.println(duration);//PT25H1M7.999999996S
        //获得该间隔的秒
        System.out.println(duration.toSeconds());
        //毫秒
        System.out.println(duration.toMillis());
        //纳秒
        System.out.println(duration.toNanos());
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值