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

yizhihongxing

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日

相关文章

  • Java中程序的运行全过程

    Java程序的运行过程可以分为三个主要阶段,即编写代码、编译代码和执行代码。下面是详细的攻略: 编写Java代码 Java程序的编写是使用文本编辑器,如记事本或文本编辑器进行编写。在编写代码时,需要使用Java编程语言,这是一种高级编程语言,易于理解和学习。Java编程语言的基本语法包括使用关键字、变量、运算符、分号、大括号等,例如: public clas…

    Java 2023年5月19日
    00
  • struts2实现文件下载功能

    下面我为你详细讲解“struts2实现文件下载功能”的完整攻略。 1. 确定文件路径和文件名 在进行文件下载功能的实现之前,我们需要先确定文件的路径和文件名。一般而言,可以将文件路径和文件名存储在数据库或配置文件中。在本次实例中,我们将文件保存在了项目根目录下的uploads目录中,因此文件路径和文件名可以如下方式进行定义: String filePath …

    Java 2023年5月20日
    00
  • maven 打包时间戳问题

    Maven 是一个流行的 Java 项目构建工具,它提供了各种功能,包括依赖管理、编译、测试、打包等。在实际项目中,我们经常需要对代码进行打包以便于部署和发布。其中,在打包过程中加入时间戳可以帮助我们更好地记录版本信息,方便项目的管理和追踪。然而,在 Maven 打包时间戳问题中也存在一些坑点,需要注意。 配置 pom.xml 文件 我们可以在项目的 pom…

    Java 2023年6月1日
    00
  • SpringBoot spring.factories加载时机分析

    在SpringBoot中,spring.factories文件是一种特定的配置文件,用于向Spring容器中加载自定义的配置类或者自动配置组件。 什么是SpringBoot spring.factories文件 spring.factories文件位于META-INF目录下,它是SpringBoot用来实现自动配置的一个重要组件。该文件被用于对Spring加…

    Java 2023年5月31日
    00
  • Java enum的用法详细介绍及实例代码

    Java中的枚举类型是一种特殊的类,它具有固定数量和固定名称的常量。枚举类型可以让代码更加清晰易懂,避免了使用数字或字符串表示常量时出现的错误。 声明枚举类型 在Java中,声明枚举类型需要使用关键字enum。下面是一个最简单的例子: enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, S…

    Java 2023年5月23日
    00
  • Java的初始化块

    三种初始化数据域的方法: 在构造器中设置值 在声明中赋值 初始化块(initialization block) 初始化块 在一个类的声明中,可以包含多个代码块。只要构造类的对象,这些块就会被执行。 class Employee { private static int nextId; private int id; private String name; …

    Java 2023年4月27日
    00
  • SpringCloud使用Feign实现动态路由操作

    Spring Cloud是一个基于Spring Boot开发的微服务框架,其中Feign作为一个轻量级的HTTP客户端,可以与Eureka、Ribbon等组件实现服务间的通讯,同时,Feign还提供了非常方便的方式进行服务之间的调用。下面,我将详细讲解如何在Spring Cloud中使用Feign进行动态路由操作。 一、添加依赖 在Spring Cloud项…

    Java 2023年5月20日
    00
  • 总结Java常用排序算法

    总结Java常用排序算法 算法简介 排序算法是计算机程序设计中最基本的问题之一,它的目的是将一组“无序”的数据,按照某种规律进行排列。在Java中,常用的排序算法有如下几种: 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 冒泡排序 冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就将它们交换过…

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