前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用LocalDateTime来代替Date

使用LocalDateTime来代替Date

作者头像
挨踢小子部落阁
发布2020-01-02 11:56:22
1.6K0
发布2020-01-02 11:56:22
举报
文章被收录于专栏:挨踢小子部落阁

1. 前言

在我们使用Date的时候,会发现很多无法理解的返回值,而且有很多方法是已经被弃用了的

在我们使用了jdk8+之后,我们可以使用LocalDate,LocalTime或者LocalDateTime来代替传统的Date

2. 使用示例

代码示例以及输出

代码语言:javascript
复制
import java.time.LocalDateTime;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * <p>
 *  LocalDateTime的使用
 * </p>
 *
 * @author Levi
 * @since 2019/12/25
 */
public class LocalDateTimeUtil {

    public static void main(String[] args) {
        System.out.println("-------------使用Date-------------");
        Date rightNow = new Date();
        System.out.println(rightNow);
        System.out.println(rightNow.getYear());
        System.out.println(rightNow.getMonth());
        System.out.println(rightNow.getDay());
        System.out.println(rightNow.getHours());
        System.out.println(rightNow.getMinutes());
        System.out.println(rightNow.getSeconds());

        System.out.println("----------使用LocalDateTime------------");
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
        System.out.println(now.getYear());
        System.out.println(now.getMonth());
        System.out.println(now.getDayOfMonth());
        System.out.println(now.getHour());
        System.out.println(now.getMinute());
        System.out.println(now.getSecond());

        System.out.println("-------------构造一个日期------------");
        LocalDateTime time = LocalDateTime.of(2020, Month.MAY, 1, 5, 20, 0);
        System.out.println(time);

        System.out.println("-------------修改日期----------------");
        // 减使用minus
        System.out.println(time.minusYears(1L));
        // 加使用plus
        System.out.println(time.plusMonths(5));
        // 直接修改使用with
        System.out.println(time.withYear(2022));

        System.out.println("----------格式化日期-------------");
        String result1 = now.format(DateTimeFormatter.ISO_DATE);
        String result2 = now.format(DateTimeFormatter.BASIC_ISO_DATE);
        String result3 = now.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));


        System.out.println("格式化后的日期(基本样式 1)-----> " + result1);
        System.out.println("格式化后的日期(基本样式 2)-----> " + result2);
        System.out.println("格式化后的日期(自定义样式)-----> " + result3);

        System.out.println("------------时间反解析----------");
        LocalDateTime parse = LocalDateTime.parse("2020--01--01 01:01", DateTimeFormatter.ofPattern("yyyy--MM--dd HH:mm"));
        System.out.println(parse);
    }
}

输出:

我们不难发现LocalDateTime还是很友好的,建议jdk8+的小伙伴尽可能在之后使用LocalDateTime而不是去使用Date

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 挨踢小子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前言
  • 2. 使用示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档