专栏首页挨踢小子部落阁使用LocalDateTime来代替Date

使用LocalDateTime来代替Date

1. 前言

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

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

2. 使用示例

代码示例以及输出

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

本文分享自微信公众号 - 挨踢小子(LN-aitixiaozi)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通俗易懂的讲解 lambda 表达式

    链接 | my.oschina.net/u/4006148/blog/3078359

    挨踢小子部落阁
  • SpringBoot启动流程解析

    由于该系统是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序...

    挨踢小子部落阁
  • 前端码农,很容易忽略的转换问题笔记整理

    实例分析:Number()、parseInt() 和 parseFloat() 的用法区别

    挨踢小子部落阁
  • 动态引用存储——集合&&精确的集合定义——泛型

    Java集合类主要由Collection和Map派生而出。Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性;Map是一个映射接...

    Noneplus
  • 字节一面,面试官拿 System.out.println() 考了我半个小时?

    如果你能自己读懂System.out.println(),就真正了解了Java面向对象编程的含义

    开发者技术前线
  • Java的从浅至深绕坑而行的学习

    1 package day02; 2 /** 3 * 1:java初学习,避免面试时一些HR挖的坑。 4 * @author biexianshen...

    别先生
  • Java 8 日期时间 API

    java 8 通过发布新的Date-Time API (JSR 310)来进一步加强对日期和时间的处理。

    一滴水的眼泪
  • Java基础-day01-代码题

    Java基础day01-代码题巩固 ? ? 第一题:分析以下需求,并用代码实现 1.定义一个HelloWold类 2.在类中定义主方法 3.在主方法中使用输出语...

    Java帮帮
  • JAVA|Java方法的使用

    方法从简来说就是,把一个功能单独放在大括号内,当需要这个功能的时候我们直接调用方法,这样不仅实现了代码的复用,还解决了代码冗余的问题。

    算法与编程之美
  • Java底层-JMX

    引言部分摘自百度百科,实际上JMX是java5开始提供的对java应用进行监控的一套接口,或者我们也可以像理解JUC包一样理解JMX,把它当成一个框架。JMX这...

    每天学Java

扫码关注云+社区

领取腾讯云代金券