java 时间处理

//获取当前日期,和前一天的日期
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(df.format(new Date()));

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.DATE,-1);
        Date dateBefore = calendar.getTime();
        System.out.println(df.format(dateBefore));

        System.out.println(dateBefore.getClass());

        // 字符串解析成 Date
        String date = "2021-11-01 04:00:50";

        Date parse = df.parse(date);

        System.out.println(parse);


        // 获取当前时间和2个小时之前的时间
        System.out.println("获取当前时间和2个小时之前的时间");
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00");
        // dateTime1 比 dateTime2 早2小时
        LocalDateTime dateTime2 = LocalDateTime.now();
        LocalDateTime dateTime1 = dateTime2.minusHours(2);

        System.out.println(dateTimeFormatter.format(dateTime1));  // 2021-11-09 12:00:00
        System.out.println(dateTimeFormatter.format(dateTime2));  // 2021-11-09 14:00:00

        // 从字符串生成
        LocalDateTime dateTime3 = LocalDateTime.parse("2021-11-09 01:00:00",dateTimeFormatter);
        // 时间前推2小时,跨天
        LocalDateTime dateTime4 = dateTime3.minusHours(2);
        System.out.println(dateTime3);  // 2021-11-09T01:00
        System.out.println(dateTime4);  // 2021-11-08T23:00
		// 计算两个时间点之间的时间间隔
        Duration duration = Duration.between(dateTime4,dateTime3);
        System.out.println("时间间隔 ==》"+duration.toHours());

		// String 类型时间转 long
        String format = DateUtil.format(new Date(), "yyyy-MM-dd HH:00:00");
        long timeLong = DateUtil.parse(format).getTime();
        System.out.println(DateUtil.parse(format)); // 2022-01-20 11:00:00
        System.out.println(timeLong); // 1642647600000
        // long转str
        System.out.println(DateUtil.format(new Date(timeLong), DatePattern.NORM_DATETIME_PATTERN)); // 2022-01-20 11:00:00

string类和LocalDateTime的相互转换

Java处理时间和日期

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Systemd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值