Java8生成时间方式及格式化时间的方法实例

Java8生成时间方式及格式化时间的方法实例

本文将介绍Java8生成时间的几种方式,以及如何利用DateTimeFormatter对时间进行格式化。

生成时间的方式

Java8提供了3种生成时间的方式:
1. 使用now()静态方法生成当前时间
2. 使用of()静态方法生成指定时间
3. 使用parse()静态方法解析字符串生成时间

生成当前时间

可以使用java.time包下的LocalDateTime类来获得当前的日期和时间:

LocalDateTime now = LocalDateTime.now();
System.out.println("当前时间: " + now);

输出结果如下:

当前时间: 2022-07-27T16:47:25.972

生成指定时间

可以使用of()方法指定年月日时分秒来生成时间:

LocalDateTime customTime = LocalDateTime.of(2021, 1, 1, 0, 0, 0);
System.out.println("指定时间: " + customTime);

输出结果如下:

指定时间: 2021-01-01T00:00

解析字符串生成时间

可以使用parse()方法将字符串解析为时间对象:

LocalDateTime parseTime = LocalDateTime.parse("2021-01-01T12:00:00",DateTimeFormatter.ISO_DATE_TIME);
System.out.println("解析时间: " + parseTime);

输出结果如下:

解析时间: 2021-01-01T12:00

格式化时间

Java8中提供了DateTimeFormatter类来格式化时间。

常用格式化方式

可以使用DateTimeFormatter类中的静态常量来方便地进行常用格式的输出:

LocalDateTime now = LocalDateTime.now();
String timeStr = now.format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println("时间格式1: " + timeStr);

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String formattedTime = now.format(formatter);
System.out.println("时间格式2: " + formattedTime);

输出结果如下:

时间格式1: 2022-07-27T16:47:25.972
时间格式2: 2022/07/27 16:47:25

自定义格式化方式

也可以自定义格式化方式:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String formattedTime = now.format(formatter);
System.out.println("时间格式3: " + formattedTime);

输出结果如下:

时间格式3: 2022-07-27 16:47:25.971

实例示例

示例1:计算两个时间之间的时间差

LocalDateTime startTime = LocalDateTime.parse("2022-01-01T00:00:00",DateTimeFormatter.ISO_DATE_TIME);
LocalDateTime endTime = LocalDateTime.now();

Duration duration = Duration.between(startTime, endTime);
System.out.println("时间差: " + duration.toDays() + "天");

可以得到从2022年1月1日到现在的天数。

示例2:获取指定时间N天后的日期

LocalDateTime customTime = LocalDateTime.of(2021, 1, 1, 0, 0, 0);
int addDays = 7;

LocalDateTime addedTime = customTime.plusDays(addDays);
System.out.println(addDays + "天后的日期: " + addedTime.format(DateTimeFormatter.ISO_DATE));

可以得到2021年1月8日的日期。

总结

本文介绍了Java8生成时间的几种方式,以及如何利用DateTimeFormatter对时间进行格式化。同时,也给出了两个实例来帮助理解这些操作的具体应用场景。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java8生成时间方式及格式化时间的方法实例 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

    针对Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析的完整攻略,可以按照以下步骤进行: 1. 确定研究目标 首先需要明确研究目标,即了解在Android系统中,进程间通信的机制及其具体实现方式。这里主要研究Binder机制在应用程序框架层的Java接口源代码分析。 2. 学习Binder机制原理 接下来需要学习Binder…

    Java 2023年5月26日
    00
  • SparkStreaming整合Kafka过程详解

    SparkStreaming整合Kafka过程详解 1. 概述 本文将详细讲解使用SparkStreaming整合Kafka的过程,并附带两个示例。SparkStreaming是Spark旗下的一个流式处理框架,而Kafka是分布式消息中间件,二者的整合能够轻松实现实时数据的处理和分析。 2. 前置条件 在开始整合SparkStreaming和Kafka之前…

    Java 2023年5月20日
    00
  • Spring MVC+FastJson+hibernate-validator整合的完整实例教程

    下面我将详细讲解Spring MVC+FastJson+hibernate-validator整合的完整实例教程。 一、概述 Spring MVC是一种用于Web开发的基于Java的MVC框架,可以方便地搭建Web应用。FastJson是阿里巴巴的一款开源的JSON处理库,相对于其他JSON处理库,FastJson有着更快的速度和更好的压缩率。hiberna…

    Java 2023年5月20日
    00
  • 将原生JDBC封装实现CRUD的案例

    针对“将原生JDBC封装实现CRUD的案例”的完整攻略,我来为您进行详细讲解。 什么是JDBC? Java 数据库连接(Java Database Connectivity,简称JDBC),是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了一系列的类和接口,使得Java程序可以方便地对各种关系型数据库进行操作。 为什么需要封装JDBC? …

    Java 2023年5月20日
    00
  • SQL Server 2008 连接JDBC详细图文教程

    SQL Server 2008 连接JDBC详细图文教程 1. 下载驱动程序 在连接 SQL Server 2008 数据库之前,需要先下载并安装相应的 JDBC 驱动程序。可通过以下步骤下载: 进入 Microsoft 官网下载页面; 选择适用于 Java 的 Microsoft JDBC 驱动器版本; 点击“下载”按钮开始下载。 2. 安装驱动程序 下载…

    Java 2023年6月16日
    00
  • Java Set接口及常用实现类总结

    Java Set接口及常用实现类总结 Set接口概述 Set接口是Collection接口的子接口,它是一个无序、不重复元素集。Set接口有以下特点: 不允许存储重复的元素; 没有定义特定的迭代顺序; 它是一种集合,因此它不会维护某个元素的插入顺序。 Set接口常用方法 方法名 描述 boolean add(E e) 添加一个元素到Set中 boolean …

    Java 2023年5月19日
    00
  • Spring中@Transactional用法详细介绍

    我来为您详细讲解Spring中@Transactional用法的攻略。 Spring中@Transactional用法详细介绍 一、什么是@Transactional @EnableTransactionManagement注解:开启事务管理器。 @Transactional注解:在类或方法上标记该业务需要事务管理。 二、@Transactional的常用属…

    Java 2023年5月20日
    00
  • SpringBoot与Quartz集成实现分布式定时任务集群的代码实例

    SpringBoot与Quartz集成实现分布式定时任务集群的代码实例 1. 什么是Quartz Quartz是一个开源的作业调度框架,可以用来实现定时任务、计划任务等。Quartz提供了丰富的API,可以满足各种复杂的调度需求。Quartz还支持集群部署,可以实现分布式定时任务的调度。 2. SpringBoot与Quartz集成 在SpringBoot中…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部