Java——java.time包使用方法详解

news2024/11/24 16:22:11

Java——time包使用方法详解

java.time 包是 Java 8 引入的新日期和时间 API(JSR 310),用于替代旧的 java.util.Date 和 java.util.Calendar 类。它提供了一组全新的类来处理日期、时间、时间间隔、时区等,具有更好的设计和易用性。

1.LocalDate:表示日期(年、月、日)的类。

在这里插入图片描述

  	    LocalDate date = LocalDate.now(); // 获取当前日期

        LocalDate specificDate = LocalDate.of(1949, 10, 1); // 创建指定日期:1949年10月1日

        LocalDate parsedDate = LocalDate.parse("2018-09-02"); // 解析字符串为日期对象

在这里插入图片描述

LocalDate常用方法示例:

在这里插入图片描述

  LocalDate date = LocalDate.now(); // 获取当前日期
        int year = date.getYear(); // 获取年份
        Month month = date.getMonth(); // 获取月份
        int dayOfMonth = date.getDayOfMonth(); // 获取月份中的天数
        DayOfWeek dayOfWeek = date.getDayOfWeek(); // 获取星期几
        boolean leapYear = date.isLeapYear(); // 判断是否是闰年
        System.out.println("获取年份:"+year);
        System.out.println("获取月份:"+month);
        System.out.println("获取月份中的天数:"+dayOfMonth);
        System.out.println("获取星期几:"+dayOfWeek);
        System.out.println("判断是否是闰年:"+leapYear);
        System.out.println("获取当前日期:"+date);

在这里插入图片描述

2.LocalTime:表示时间(小时、分钟、秒、纳秒)的类。

LocalTime time = LocalTime.now(); // 获取当前时间
LocalTime specificTime = LocalTime.of(8, 30, 45); // 创建指定时间:08:30:45
LocalTime parsedTime = LocalTime.parse("12:30:00"); // 解析字符串为时间对象

int hour = time.getHour(); // 获取小时
int minute = time.getMinute(); // 获取分钟
int second = time.getSecond(); // 获取秒
int nano = time.getNano(); // 获取纳秒

3.LocalDateTime:表示日期和时间的类,是 LocalDate 和 LocalTime 的组合。

LocalDateTime dateTime = LocalDateTime.now(); // 获取当前日期和时间
LocalDateTime specificDateTime = LocalDateTime.of(2023, 11, 2, 8, 30, 45); // 创建指定日期和时间
LocalDateTime parsedDateTime = LocalDateTime.parse("2023-11-02T08:30:45"); // 解析字符串为日期时间对象

LocalDate datePart = dateTime.toLocalDate(); // 提取日期部分
LocalTime timePart = dateTime.toLocalTime(); // 提取时间部分

4.ZonedDateTime:表示带时区的日期和时间的类。除了日期和时间信息,它还包含时区信息。

ZonedDateTime zonedDateTime = ZonedDateTime.now(); // 获取当前日期和时间(带时区)
ZonedDateTime specificZonedDateTime = ZonedDateTime.of(2023, 11, 2, 8, 30, 45, ZoneId.of("Asia/Shanghai")); // 创建指定日期和时间(带时区)
ZonedDateTime parsedZonedDateTime = ZonedDateTime.parse("2023-11-02T08:30:45+08:00[Asia/Shanghai]"); // 解析字符串为日期时间对象(带时区)

ZoneId zone = zonedDateTime.getZone(); // 获取时区

5.Duration:表示时间间隔的类,用于计算两个时间点之间的差异。

Duration duration = Duration.between(startTime, endTime); // 计算两个时间点之间的时间间隔

long seconds = duration.getSeconds(); // 获取总秒数
long minutes = duration.toMinutes(); // 获取总分钟数

在这里插入图片描述

6.Period:表示日期间隔的类,用于计算两个日期之间的差异。

Period period = Period.between(startDate, endDate); // 计算两个日期之间的日期间隔

int years = period.getYears(); // 获取年数
int months = period.getMonths(); // 获取月数
int days = period.getDays(); // 获取天数

在这里插入图片描述


上述是 java.time 包中一些常用类的简要介绍和使用示例。这些类提供了丰富的功能来处理日期、时间和时间间隔,支持各种操作、格式化和计算需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1164605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是消息队列

什么是消息队列 消息队列是一种通信机制,用于在不同的应用程序或组件之间传递消息。它允许应用程序之间异步地发送和接收消息,而无需直接依赖彼此的可用性或性能。消息队列通常用于解耦不同组件,提高系统的可伸缩性和可维护性,以…

【Python入门一】Python及PyCharm安装教程

Python及PyCharm安装教程 1 Python简介1.1 Python下载及安装 2 PyCharm简介2.1 PyCharm下载及安装 参考 1 Python简介 Python是一种开源的高级编程语言,由Guido van Rossum于1991年创建。Python易于学习、阅读和编写,具有丰富的标准库和第三方模块&…

智慧校园管理云平台电子班牌系统源码,数据管理、信息发布、家校互通、物联控制、教务管理、日常办公、人脸识别

智慧校园平台源码 智慧校园云平台电子班牌系统源码 一款全功能智慧校园管理云平台电子班牌系统源码,融合了多媒体信息发布、家校互通、物联控制、教务管理、日常办公等一系列应用,是校园管理的现代手段。 电子班牌系统的主要功能包括:数据信…

电源管理(PMIC)MAX20428ATIA/VY、MAX20428ATIC/VY、MAX20428ATIE/VY适合汽车ADAS应用的开关稳压器

一、概述 MAX20428是一款高效率、八路输出、低压PMIC。OUT1将输入电源升压至5V,电流高达500mA,而三个同步降压转换器的输入电压范围为3.0V至4.2V,输出电压范围为0.8V至3.9875V,峰值电流分别高达1.3A、1.3A和3.5A。三个300mA pMOS…

c++实现建造者模式

代码 director.h #pragma once #include<vector> #include<string> #include<iostream>class Product { private:std::vector<std::string> _parts;public:void Add(const std::string& part) {_parts.push_back(part);}void show(){std::cout &…

L1和L2正则化通俗理解

机器学习中&#xff0c;如果参数过多&#xff0c;模型过于复杂&#xff0c;容易造成过拟合&#xff08;overfit&#xff09;。即模型在训练样本数据上表现的很好&#xff0c;但在实际测试样本上表现的较差&#xff0c;不具备良好的泛化能力。为了避免过拟合&#xff0c;最常用的…

在Linux上通过NTLM认证连接到AD服务器(未完结)

这篇文章目前还没有实现具体的功能&#xff0c;只实现了明文登录&#xff0c;因为我缺少一些数据&#xff0c;比如通过密码生成hash&#xff0c;以及通过challenge生成response&#xff0c;我不知道怎么实现&#xff0c;因此这篇文章也是一个交流的文章&#xff0c;希望大佬看见…

Linux的test测试功能

测试文件名的类型&#xff0c;文件是否存在&#xff0c; 文件的权限检测 文件之间的比较 两个整数之间的比较 判断字符串数据 多重条件判定 一个一个来&#xff0c;这个有点多&#xff0c;不过比较有意思&#xff0c;来代码 案例1&#xff0c;判断文件是否存在&#xff…

VS Code提取扩展时出错。XHR failed

需求&#xff1a;想要在扩展中心下载插件&#xff0c;发现报错 原因&#xff1a;vs code之前设置了代理&#xff0c;需要删除即可

【LLM】大模型中的温度系数temperature是啥玩意||底层逻辑

【LLM】大模型中的温度系数是啥玩意_山顶夕景的博客-CSDN博客 大佬两句话就讲明白了&#xff0c;厉害~ 总结一下就是crossentropy里面引入t如下页ppt公式所示&#xff0c;t越大&#xff0c;每个词都有更大的概率被使用&#xff0c;也就体现出了多样性。

基于OR-Tools的装箱问题模型求解(PythonAPI)

装箱问题 一、背包问题&#xff08;Knapsack problem&#xff09;1.1 0-1背包模型基于OR-Tools的0-1背包问题求解&#xff08;PythonAPI&#xff09;导入pywraplp库数据准备声明MIP求解器初始化决策变量初始化约束条件目标函数调用求解器打印结果 1.2 多重背包问题&#xff08;…

74X138元件怎么找——错误解决方法

1.在做74X138的时候根据课本&#xff0c;无法在现有的库中找到74X138&#xff0c;搜索了老师发的库中&#xff0c;都是集成库打不开&#xff0c;那我该怎么办? 根据这个课本P343&#xff0c;&#xff08;即机械工业出版社&#xff0c;刘超&#xff0c;包建荣&#xff0c;俞优姝…

深入理解TCP协议

深入理解TCP 1.TCP基础概念了解 1.1简介 TCP&#xff08;Transmission Control Protocol&#xff09;是一种计算机网络协议&#xff0c;用于在网络上可靠地传输数据。它确保数据的完整性、顺序性和可靠性&#xff0c;通过建立连接、数据分段、错误检测和恢复机制&#xff0c…

什么是DNS

什么是DNS 概述 域名系统&#xff08;英语&#xff1a;Domain Name System&#xff0c;缩写&#xff1a;DNS&#xff09;是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便地访问互联网**。DNS使用[TCP和UDP端口53。当前&#…

【算法练习Day36】最后一块石头的重量 II目标和一和零

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 最后一块石头的重量 II目标…

2m照片用手机怎么照?三个方法随心选!

在用手机拍照的时候&#xff0c;我们会发现拍出的照片尺寸都很大&#xff0c;占用手机的存储空间较多&#xff0c;而自己又不需要如此高清晰度的照片&#xff0c;那么如何解决这个问题呢&#xff1f;下面介绍了三种方法。 方法一&#xff1a;调整手机拍照的设置选项 1、打开手…

Python---字符串切片-----序列名称[开始位置下标 : 结束位置下标 : 步长]

字符串切片&#xff1a;是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。 本文以字符串为例。 基本语法&#xff1a; 顾头不顾尾&#xff1a; ----------类似range&#xff08;&#xff09; 范围&#xff0c;顾头不顾尾 相关链接Python----ran…

YOLOv5 - yolov5s.yaml 文件

基于深度学习的目标检测模型的结构:输入->主干->脖子->头->输出。主干网络提取特征&#xff0c;脖子提取一些更复杂的特征&#xff0c;然后头部计算预测输出。 YOLOv5网络结构主要由以下几部分组成: 骨干网络(Backbone) &#xff1a;Backbone:骨干网络&#xff0c…

JAVA虚拟机-第2章 Java自动内存管理-异常实践

Java堆溢出 堆的参数设置&#xff1a;将堆的最小值-Xms参数与最大值-Xmx参数设置 public class HeapOOM {static class OOMObject {}public static void main(String[] args) {List<OOMObject> list new ArrayList<OOMObject>();while (true) {list.add(new OO…

FRI及相关SNARKs的Fiat-Shamir安全

1. 引言 本文主要参考&#xff1a; Alexander R. Block 2023年论文 Fiat-Shamir Security of FRI and Related SNARKsAlbert Garreta 2023年9月在ZK Summit 10上分享 ZK10: Fiat-Shamir security of FRI and related SNARKs - Albert Garreta (Nethermind) 评估参数用的Sage…