JDK8新时间类(二)

这篇具有很好参考价值的文章主要介绍了JDK8新时间类(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DateTimeFormatter

格式化器,用于时间的格式化、解析

方法名 说明
public static DateTimeFormatter ofPattern(时间格式) 获取格式化器对象
public String format(时间对象) 格式化时间

LocalDateTime提供的格式化、解析时间的方法
方法名|说明
public String format(DateTimeFormatter formatter)|格式化时间
public static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter)|解析时间

案例演示

public class DateTimeFormatterTest {
    public static void main(String[] args) {
        //创建一个日期时间格式化器对象
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日  HH:mm:ss");

        //对时间进行格式化
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
        System.out.println(formatter.format(now));  //正向格式化

        //格式化时间方案2
        System.out.println("-----------");
        System.out.println(now.format(formatter));  //反向格式化

        //解析时间:解析时间一般使用LocalDateTime提供的解析方法来解析
        System.out.println("-----------");
        String dateStr = "2020年05月20日  05:20:20";
        LocalDateTime ldt = LocalDateTime.parse(dateStr, formatter);
        System.out.println(ldt);
    }
}

Period(一段时期)

可以用于计算两个LocalDate对象相差的年数、月数、天数

Period常见方法

方法名 说明
public static Period between(LocalDate start, LocalDate end) 传入2个日期对象,得到Period对象
public int getYears() 计算隔几年,并返回
public int getMonths() 计算隔几个月,并返回
public int getDays() 计算隔多少天,并返回

案例演示

public class PeriodTest {
    public static void main(String[] args) {
        LocalDate ld1 = LocalDate.of(2020, 5, 20);
        LocalDate ld2 = LocalDate.now();
        //创建Period对象,封装两个日期对象
        Period period = Period.between(ld1, ld2);

        //间隔多少年
        System.out.println(period.getYears());  //只计算年份间隔
        //间隔多少月
        System.out.println(period.getMonths()); //只计算月份间隔,不考虑年份
        //间隔多少天
        System.out.println(period.getDays());   //只计算号数(DayOfMonth)数间隔,不考虑年和月
    }
}

Duration(持续时间)

可以用于计算两个时间对象相差的天数、小时数、分数、秒数、纳秒数;支持LocalTime、LocalDate、LocalDateTime、Instant等时间文章来源地址https://www.toymoban.com/news/detail-835440.html

方法名 说明
public static Duration between(开始时间对象1, 截止时间对象2) 传入2个时间对象,得到Duration对象
public long toDays() 计算隔多少天,并返回
public long toHours() 计算隔多少小时,并返回
public long toMinutes() 计算隔多少分,并返回
public long toSeconds() 计算隔多少秒,并返回
public long toMillis() 计算隔多少毫秒,并返回
public long toNanos() 计算隔多少纳秒,并返回

到了这里,关于JDK8新时间类(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java jdk8生成随机数

    目录 Jdk8生成随机数 Jdk8以前 在Java 8中,可以使用ThreadLocalRandom类来生成随机数。相比于早期的Random类,ThreadLocalRandom类可以更好地支持多线程应用,性能也更优。下面是使用ThreadLocalRandom类生成随机数的几种方法: 生成一个0到n之间的随机整数(不包含n): 生成一个范围在

    2024年02月12日
    浏览(41)
  • JDK8与JDK11:Java两个主要版本的比较

    在Java的世界里,JDK8和JDK11无疑是两个里程碑式的版本。它们在功能、性能和易用性上都进行了许多改进,使得Java开发者能够更高效、更轻松地开发出高质量的程序。在这篇文章中,我们将对这两个版本进行详细的比较,以帮助你更好地了解它们之间的差异。 1. 默认垃圾回收

    2024年03月10日
    浏览(84)
  • JDK8 和 JDK11 Java 两个主要版本的比较

    Java 是一门广泛应用于企业级应用和跨平台开发的编程语言。随着时间的推移,Java 不断演变和发展,版本之间有着许多新的功能和改进。本篇博客将重点关注 JDK 8 和 JDK 11 之间的区别,分析它们的新特性、性能改进和其他方面的差异。 一、性能改进: JDK 11 对性能进行了优化

    2024年02月09日
    浏览(43)
  • 【Java】JDK8 jvm参数配置及说明

    -Xms 或 -XX:InitialHeapSize=n 设置堆的初始值 指令1:-Xms2g 指令2:-XX:InitialHeapSize=2048m -Xmx 或 -XX:MaxHeapSize=n 设置堆区最大值 指令1: -Xmx2g 指令2: -XX:MaxHeapSize=2048m -XX:NewSize=n 设置年轻代大小 -Xss 或 -XX:ThreadStackSize=n 每个线程堆栈最大值 指令1:-Xss256k 指令2:-XX:ThreadStackSize=256k 注意:

    2024年02月03日
    浏览(53)
  • 【Java基础】JDK8.0(JDK1.8)版本的下载与安装

    JDK(Java SE Development Kits)是Java程序员使用的开发环境,包含JRE和开发工具集。 JRE(Java Runtime Environment) :是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。 官网地址:https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html 链接:https://pan.baidu.com/

    2024年02月13日
    浏览(68)
  • 从JDK8到JDK14:阿里巴巴面试题探索Java的演进之路!

    嗨,各位小伙伴们!近期,阿里巴巴的面试题上线啦!话题聚焦在Java开发中最新的JDK特性。作为我们日常开发的利器,JDK的更新对于我们的工作有着极其重要的影响。今天,小米将带领大家一一揭秘JDK8至JDK14的新特性,让我们一起进入Java的新世界吧! JDK8的到来带来了Java开

    2024年04月12日
    浏览(60)
  • JDK8 Java HotSpot VM GC参数调优

    Java Virtual Machine Technology (JDK8官方) Java Platform, Standard Edition HotSpot 虚拟机垃圾收集调优指南 (JDK8官方) Java平台标准版工具参考(unix) (JDK8官方) 阿里巴巴Dragonwell8用户指南 (Dragonwell官方) Java性能优化之JVM GC(垃圾回收机制)(大鹅coding) 参考文档 目录 前言 省流 默认

    2024年02月04日
    浏览(41)
  • Java语法理论和面经杂疑篇《十一. JDK8新特性》

    目录 1. Java版本迭代概述 1.1 发布特点(小步快跑,快速迭代) 1.2 名词解释 1.3 各版本支持时间路线图 1.4 各版本介绍 1.5 JDK各版本下载链接 1.6 如何学习新特性 2. Java8新特性:Lambda表达式 2.1 关于Java8新特性简介 2.2 冗余的匿名内部类 2.3 好用的lambda表达式 2.4 Lambda 及其使用举例

    2023年04月22日
    浏览(40)
  • java jdk8 switch case中无法使用枚举问题解决

    之前常规写法: 代码会报错: 此时在枚举中添加方法: 代码中改为: idea自编译不报错, 经测试也可以用 枚举完整代码: 参考: 「Java基础入门」Java中switch怎么使用枚举 - 掘金

    2024年04月25日
    浏览(45)
  • 【Linux】- Linux下搭建Java环境[IDEA,JDK8,Tomcat]

    /usr/local:存放用户自行安装的软件,默认情况下不会被系统软件包管理器管理 发现解压后的文件已经整体移动到/usr/local/java 文件夹下 打开bin目录,可以看到java的版本信息,可是不在bin目录下就执行不了./java -version命令 说明需要配置环境变量 输出一下环境变量 在 /etc/prof

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包