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日

相关文章

  • Redis Plus 来了,性能炸裂!

    来源:https://developer.aliyun.com/article/705239 1 什么是KeyDB? KeyDB是Redis的高性能分支,专注于多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具有仅在Redis Enterprise中可用的功能,例如Active Replication,FLASH存储支持以及一些根本不可用的功能,例如…

    Java 2023年4月25日
    00
  • springboot集成开发实现商场秒杀功能

    下面是详细讲解”springboot集成开发实现商场秒杀功能”的完整攻略。 1. 环境搭建 在开始之前,需要先确保你已经安装了以下环境: JDK1.8及以上 Maven3.3及以上 IDE(比如IntelliJ IDEA、Eclipse) 2. 导入依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId&gt…

    Java 2023年5月19日
    00
  • Java线程的三种创建方式

    Java线程的创建方式一般有三种,分别是继承Thread类、实现Runnable接口和实现Callable接口。下面我们一一进行讲解。 一、继承Thread类 该方式最简单的方式就是继承Thread类,然后重写run方法,在run方法中编写线程执行的任务。 public class MyThread extends Thread { @Override pu…

    Java 2023年5月18日
    00
  • SpringBoot整合freemarker的讲解

    SpringBoot整合Freemarker的完整攻略 1.1 添加依赖 使用SpringBoot整合Freemarker需要添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star…

    Java 2023年5月19日
    00
  • Java内省之Introspector解读

    Sure! 简介 Java 内省是指利用反射机制来获取某个类的信息,包括类的属性、方法和事件等,还有调用类的方法。简单来说,Java内省是用Java的反射机制来操作JavaBean的信息。JavaBean是一种约定,符合特定命名规范的Java类,具有无参构造器,并且有一系列的读写方法。JavaBean作为一种Java组件形式,它的易用性得到广泛认可。Java…

    Java 2023年5月20日
    00
  • Java数据类型之细讲char类型与编码关系

    Java数据类型之细讲char类型与编码关系 char类型的定义 Java中的char类型用于表示一个16位的Unicode字符,也可以理解成一个字符编码所对应的字符。char类型在Java中是一种基本的数据类型,其关键字为char,它的取值范围为0~65535。 char类型与编码关系 在计算机系统中,关于字符的存储一般有两种方案: ASCII编码 在美国…

    Java 2023年5月20日
    00
  • Java RSA加密解密实现方法分析【附BASE64 jar包下载】

    Java RSA加密解密实现方法分析 本文介绍了Java中RSA加密解密的实现方法。主要讲解了如何生成密钥对、如何进行加密解密、如何将密钥序列化和反序列化等操作。同时为了方便实际开发,我们也提供了BASE64 jar包下载链接。 生成密钥对 首先我们需要使用Java中的KeyPairGenerator类来生成RSA密钥对。代码如下: KeyPairGener…

    Java 2023年5月20日
    00
  • SpringDataJpa的@Query注解报错的解决

    当使用Spring Data JPA进行数据库操作时,我们可以使用@Query注解在Repository接口中定义自定义SQL语句,但有时会出现@Query注解报错的情况。下面是一份详细的攻略,帮助大家解决@Query报错的问题。 问题描述 在使用@Query注解时,可能会出现以下两种错误: 语法错误 当我们在@Query注解中定义SQL语句时,如果存在语法…

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