java时间日期使用与查询代码详解

Java时间日期使用与查询代码详解

介绍

在Java中,日期和时间是一个常见的需求。Java为我们提供了用于处理日期和时间的多个类和方法。本文将深入介绍Java的日期时间相关的类和方法,并提供使用示例和代码详解。

本文涉及以下类:

  • java.time.LocalDate - 表示只用日期,不包含时间的类。
  • java.time.LocalTime - 表示只用时间,不包含日期的类。
  • java.time.LocalDateTime - 表示日期和时间。
  • java.time.Period - 用来表示时间段信息,可以用于计算日期之间的差值。
  • java.time.Duration - 用来表示时间段信息,可以用于计算两个时间之间的差值。
  • java.time.format.DateTimeFormatter - 用于将日期时间格式化为字符串,或将字符串解析为日期时间。

LocalDate

LocalDate类表示一个不包含时间信息的日期,它只包含年、月、日信息。下面是创建LocalDate对象的示例代码:

// 当前时间
LocalDate today = LocalDate.now(); 

// 根据参数创建一个日期
LocalDate dateOfBirth = LocalDate.of(1990, 1, 10);

对于一个LocalDate对象,我们可以获取它的年、月、日等信息。下面是获取年月日的示例代码:

int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();

除此之外,还可以进行日期的计算,比如加上或减去天数、月数、年数。下面是进行日期计算的示例代码:

LocalDate newDate = today.plusDays(1);
LocalDate newDate2 = today.plusMonths(1);
LocalDate newDate3 = today.plusYears(1);

LocalDate newDate4 = today.minusDays(1);
LocalDate newDate5 = today.minusMonths(1);
LocalDate newDate6 = today.minusYears(1);

LocalTime

LocalTime类表示一个不包含日期信息的时间,它只包含小时、分钟、秒、毫秒信息。下面是创建LocalTime对象的示例代码:

// 当前时间
LocalTime now = LocalTime.now(); 

// 根据参数创建一个时间
LocalTime time = LocalTime.of(15, 59, 50);

对于一个LocalTime对象,我们可以获取它的小时、分钟、秒等信息。下面是获取小时、分钟、秒的示例代码:

int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();

除此之外,还可以进行时间的计算,比如加上或减去小时数、分钟数、秒数。下面是进行时间计算的示例代码:

LocalTime newTime = now.plusHours(1);
LocalTime newTime2 = now.plusMinutes(1);
LocalTime newTime3 = now.plusSeconds(1);

LocalTime newTime4 = now.minusHours(1);
LocalTime newTime5 = now.minusMinutes(1);
LocalTime newTime6 = now.minusSeconds(1);

LocalDateTime

LocalDateTime类表示一个包含日期和时间信息的对象。下面是创建LocalDateTime对象的示例代码:

// 当前时间
LocalDateTime now = LocalDateTime.now(); 

// 根据参数创建一个日期和时间
LocalDateTime dateTime = LocalDateTime.of(1990, 1, 10, 12, 30, 0);

获取年、月、日、小时、分钟、秒的方法与LocalDateLocalTime类似。

Period

Period类表示日期之间的差值。下面是创建Period对象的示例代码:

// 创建两个日期
LocalDate date1 = LocalDate.of(1990, 1, 10);
LocalDate date2 = LocalDate.of(2010, 4, 15);

// 计算两个日期之间的差值
Period period = Period.between(date1, date2);

Period对象有多个方法可以获取它表示的差值,比如获取年数、月数、天数。下面是获取Period对象表示的差值的示例代码:

int years = period.getYears();
int months = period.getMonths();
int days = period.getDays();

Duration

Duration类表示两个时间之间的差值。下面是创建Duration对象的示例代码:

// 创建两个时间
LocalTime time1 = LocalTime.of(15, 30, 0);
LocalTime time2 = LocalTime.of(16, 40, 0);

// 计算两个时间之间的差值
Duration duration = Duration.between(time1, time2);

Duration对象有多个方法可以获取它表示的差值,比如获取小时数、分钟数、秒数。下面是获取Duration对象表示的差值的示例代码:

long hours = duration.toHours();
long minutes = duration.toMinutes();
long seconds = duration.getSeconds();

DateTimeFormatter

DateTimeFormatter类是用于将日期时间格式化为字符串,或将字符串解析为日期时间的类。下面是将LocalDateTime格式化为字符串的示例代码:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.of(1990, 1, 10, 12, 30, 0);
String formattedDateTime = dateTime.format(formatter);

将字符串解析为LocalDateTime的示例代码:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateTimeString = "1990-01-10 12:30:00";
LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter);

示例

示例一

下面是一个简单的示例,计算从当前日期到指定日期之间的天数:

LocalDate today = LocalDate.now(); 

// 指定一个日期
LocalDate date2 = LocalDate.of(2022, Month.JANUARY, 1);

// 计算差值
Period period = Period.between(today, date2);

// 获取天数
int days = period.getDays();

System.out.println("天数:" + days);

输出结果为:

天数:511

示例二

下面是一个示例,将一个日期时间字符串解析为LocalDateTime对象,并将其格式化为另一个字符串:

String dateTimeString = "2022-01-01T01:23:45";
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");

LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter1);
String formattedDateTime = dateTime.format(formatter2);

System.out.println(formattedDateTime);

输出结果为:

2022年01月01日 01:23:45

总结

在Java中,有多个类和方法可以用来处理日期和时间信息。本文介绍了LocalDateLocalTimeLocalDateTimePeriodDurationDateTimeFormatter等对象和类,提供了使用示例和代码详解,帮助读者更好地掌握Java时间日期相关的知识和技巧。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java时间日期使用与查询代码详解 - Python技术站

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

相关文章

  • 十三、JSP动作

    JSP动作(Action)是JSP页面中特殊的标识,可以在JSP中调用Servlet或JavaBean,也可以完成JSP页面的控制流程、变量的传递、构建自定义标签库等功能。JSP动作在JSP中是由尖括号包裹的标识,其中尖括号后面是关键词,关键词和它们的值都是用特殊的语法结构来定义的。本文将实现JSP动作的完整攻略。 1、JSP动作的类型 JSP动作主要分为三…

    Java 2023年6月15日
    00
  • Java图形用户界面之列表框

    下面是Java图形用户界面之列表框的完整攻略: 一、什么是列表框? 列表框(JList)是 Java Swing 组件之一,它除了能够显示列表以外,还能与其他组件协同工作,允许用户进行选择和编辑,非常适用于多项选择的情况下。 二、列表框的基本用法 1. 创建列表框 使用 JList 类创建一个列表框: JList list = new JList(); 2.…

    Java 2023年5月26日
    00
  • Java基础学习之关键字和变量数据类型的那些事

    Java基础学习之关键字和变量数据类型的那些事 一、关键字 Java中有一些单词是具有特殊含义的,这些单词被称为关键字。我们不能将关键字用作标识符(变量名、方法名等)。Java中共有50个关键字,其中一部分已经不再使用,比如goto、const等。下面列出常用的关键字: abstract default if private this boolean do …

    Java 2023年5月20日
    00
  • JavaBean和SpringBean的区别及创建SpringBean方式

    JavaBean和SpringBean的区别: JavaBean是Java语言编写的可重用组件,它是普通的Java类,遵循特定的约定(约定优于配置)。JavaBean将其属性封装在私有字段中,并提供公共的getter和setter方法以让外部程序可以访问这些私有属性。JavaBean可以在任何Java环境中被使用,例如Java SE、Java EE等。 Sp…

    Java 2023年5月19日
    00
  • Java下载文件的4种方式总结

    以下是Java下载文件的4种方式总结的详细攻略: 一、通过URL类下载文件 Java中可以通过URL类来下载远程文件,具体步骤如下: 创建一个URL对象,指定远程文件的URL地址; URL url = new URL("http://example.com/file/file.txt"); 打开URL连接; URLConnection c…

    Java 2023年5月20日
    00
  • Java Springboot整合支付宝接口的教程详解

    Java Springboot整合支付宝接口的教程详解 介绍: Java Springboot是当前广泛使用的Java开发框架之一,兼容了Spring框架的优势并整合了大量解决方案,易用易扩展,本文将详细讲解如何在Java Springboot应用中整合支付宝接口。 准备工作: 1. 开通支付宝开放平台账号: 首先访问 支付宝开放平台官方网站,进行开发者注册…

    Java 2023年5月19日
    00
  • Java使用正则表达式提取XML节点内容的方法示例

    下面是详细讲解“Java使用正则表达式提取XML节点内容的方法示例”的完整攻略。 正则表达式提取XML节点内容的原理 在XML文件中,我们通常可以使用节点标记(例如””和””)来标识节点的开始和结束位置,因此可以利用正则表达式来匹配节点标记以提取节点内容。例如,如果我们要提取一个名为”title”的节点的内容,我们可以使用以下正则表达式: <\s*ti…

    Java 2023年5月26日
    00
  • SpringBoot是如何使用SQL数据库的?

    Spring Boot是一个基于Spring框架的快速开发框架,它可以帮助我们快速构建Web应用程序。在Spring Boot中,我们可以使用多种方式来使用SQL数据库。以下是两种常见的方式: 1. 使用Spring Data JPA Spring Data JPA是一种基于JPA的数据访问框架,它可以帮助我们快速构建数据访问层。以下是一个示例: 添加依赖 …

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