java8 LocalDate LocalDateTime等时间类用法实例分析

Java8 时间类用法实例分析

Java8中引入了全新的日期和时间API,其中包括了多个专门用于处理日期和时间的类。本文将深入介绍几个常用的时间类及其用法实例。

1. LocalDate

LocalDate 表示不带时区的日期,它的常用方法有:

  • now():获取当前日期
  • getYear():获取当前日期的年份
  • getMonth():获取当前日期的月份
  • getDayOfMonth():获取当前日期的日
  • plusDays(int daysToAdd):增加若干天

示例1:获取当前日期的年份、月份和日

LocalDate now = LocalDate.now();
int year = now.getYear();
Month month = now.getMonth();
int day = now.getDayOfMonth();
System.out.printf("Year : %d  Month : %s  day : %d \t %n", year, month, day);

示例2:在当前日期上增加2天

LocalDate now = LocalDate.now();
LocalDate newDate = now.plusDays(2);
System.out.println("Today's date is : " + now);
System.out.println("New date after adding 2 days : " + newDate);

2. LocalDateTime

LocalDateTime 表示日期和时间,不带时区信息,它的常用方法有:

  • now():获取当前日期和时间
  • getYear():获取当前日期和时间的年份
  • getMonth():获取当前日期和时间的月份
  • getDayOfMonth():获取当前日期和时间的日
  • getHour():获取当前日期和时间的小时
  • getMinute():获取当前日期和时间的分钟
  • plusDays(int daysToAdd):增加若干天
  • format(DateTimeFormatter formatter):格式化当前日期时间

示例1:在当前日期时间上增加3天并格式化输出

LocalDateTime now = LocalDateTime.now();
LocalDateTime newDatetime = now.plusDays(3);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDatetime = newDatetime.format(formatter);
System.out.println("Formatted datetime after adding 3 days : " + formattedDatetime);

示例2:获取当前日期时间的年份、月份、日、小时和分钟

LocalDateTime now = LocalDateTime.now();
int year = now.getYear();
Month month = now.getMonth();
int day = now.getDayOfMonth();
int hour = now.getHour();
int minute = now.getMinute();
System.out.printf("Year : %d  Month : %s  day : %d  Hour : %d  Minute : %d \t %n", year, month, day, hour, minute);

3. Instant

Instant 表示的是时间戳,它表示的是从1970-01-01T00:00:00.00Z开始,以秒为单位计算的时间值。它的常用方法有:

  • now():获取当前时间戳
  • ofEpochSecond(long epochSecond):从1970-01-01T00:00:00.00Z开始,以秒为单位计算的时间值创建 Instant 对象
  • plusSeconds(long secondsToAdd):增加若干秒
  • toString():将时间戳格式化为字符串

示例1:获取当前时间戳,然后通过 toString() 方法将其格式化为字符串输出

Instant now = Instant.now();
System.out.println("Current timestamp is : " + now.toString());

示例2:从1970-01-01T00:00:00.00Z开始,以秒为单位计算的时间值创建 Instant 对象

Instant instant = Instant.ofEpochSecond(1000000000L);
System.out.println("Instant : " + instant);

结论

Java8中的时间类提供了很多常用的方法,使得日期和时间的处理变得更加简单、直观、可读,并且安全性更高。我们可以根据需求选择使用不同的时间类。在代码编写中,尽量使用Java8时间类来代替旧的时间类来获得更好的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java8 LocalDate LocalDateTime等时间类用法实例分析 - Python技术站

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

相关文章

  • HTML静态页面引入公共html文件(ssi服务器端指令详解)

    HTML静态页面引入公共HTML文件,是一种在静态页面中引用公共代码的方法,能够节省代码量,实现代码复用,提高代码效率和维护性。这种方法可以使用SSI服务器端指令实现,下面将介绍完整的流程。 SSI(Server Side Include)服务器端指令详解 SSIs指的是服务器端指令(Server Side Includes),用于在HTML页面中插入服务器…

    Java 2023年6月15日
    00
  • IDEA创建Java Web项目的超详细图文教学

    下面是针对“IDEA创建Java Web项目的超详细图文教学”的完整攻略: 准备工作 首先,我们需要保证机器上已经安装了Java和IDEA,如果没有,请自行下载和安装。 创建项目 打开IDEA,选择“Create New Project”按钮 在弹出的窗口中选择“Java Enterprise”,然后选择“Web Application” 填写项目的名称和路…

    Java 2023年5月19日
    00
  • 解析Oracle数据库中的对象集合schema

    我来详细讲解一下解析Oracle数据库中的对象集合schema的完整攻略。 1. 确定schema名称 首先需要确认要解析的Oracle数据库对象集合schema的名称,可以使用以下SQL语句查询: SELECT username FROM dba_users; 2. 使用Oracle的数据字典 Oracle提供了数据字典来存储关于数据库对象的元数据信息,数…

    Java 2023年5月20日
    00
  • java查找字符串中的包含子字符串的个数实现代码

    下面是“Java查找字符串中的包含子字符串的个数实现代码”的完整攻略。 问题描述 我们需要写一个Java程序,用于在一个字符串中查找指定的子字符串,并返回该子字符串在源字符串中出现的次数。 解决方案 我们可以使用Java内置的字符串函数或正则表达式来实现这个功能,下面是两种不同的方法: 方法一:使用String函数 我们可以使用String类中提供的inde…

    Java 2023年5月27日
    00
  • JDBC 入门(一)

    下面我来为您详细讲解“JDBC 入门(一)”的完整攻略。 JDBC 入门(一) JDBC全称Java Database Connectivity,是Java语言操作数据库的标准接口。下面从以下几个方面介绍JDBC入门。 1. JDBC的基本概念 JDBC是什么? JDBC是Java Database Connectivity的简称,它是Java语言操作数据库…

    Java 2023年5月30日
    00
  • java 文件上传到读取文件内容的实例

    以下是 Java 文件上传到读取文件内容的实例的完整攻略,本文将涵盖以下内容: Java 文件上传的基本原理 Java 文件上传的流程和具体实现方式 Java 读取文件内容的基本原理 Java 读取文件内容的具体实现方式和示例代码 1. Java 文件上传的基本原理 Java 文件上传本质上就是客户端把本地文件传输到服务器的过程,实现文件上传可以通过POST…

    Java 2023年5月20日
    00
  • SpringBoot 过滤器、拦截器、监听器对比及使用场景分析

    SpringBoot 过滤器、拦截器、监听器对比及使用场景分析 在Spring Boot应用程序中,我们可以使用过滤器、拦截器和监听器来处理请求和响应。这三种技术都可以用于处理请求和响应,但它们之间有一些区别。在本文中,我们将详细介绍这三种技术的区别,并分析它们的使用场景。 过滤器 过滤器是Java Servlet规范中定义的一种技术,用于在请求到达Serv…

    Java 2023年5月18日
    00
  • java7 新I/O知识点详解

    Java7 新 I/O 知识点详解 介绍 Java7 引入了一些新的 I/O(输入输出)特性,主要是为了优化文件 I/O 操作,使之更加高效和灵活。其中主要包括以下几个方面: 支持异步 I/O 操作的 NIO API 支持读取和写入字符串的 NIO API 自动资源管理(ARM)特性,即 try-with-resources 操作 文件系统的改进 下面将分别…

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