【JavaSE】时间类相关API以及使用

news2024/11/15 2:23:25

目录

时间类相关API

         1.Date类

2.SimpleDateFormat类

3.Calendar类

4.JDK8-时区,时间和格式化

5.JDK8-日历和工具类


时间类相关API

        以下内容是通过观看黑马java的常见API视频总结加笔记,其中有JDK7以及以前的时间类,包括:Date,SimpleDateFormat,Calendar三个类以及JDK8新增时间相关类,及他们的详细用法。JDK7时间相关类在多线程环境下会导致数据安全的问题。JDK8的时间日期对象都是不可变的,解决了这个问题。

以前世界标准时间是格林尼治时间/格林威治时间简称GMT。

现在世界标准时间UTC已经替换为:原子钟。时间原点:1970年1月1日00:00:00。

中国的标准时间:世界标准时间+8小时

1.Date类

Date类是JDK写好的javabean类,在util包下,用来描述时间,精确到毫秒。利用空参构造创建的对象,默认表示系统当前的时间。利用有参构造创建的对象,表示指定的时间。get,set方法,均用long类型表示时间,可以用来获取时间,或者赋值时间。

2.SimpleDateFormat类

作用:

1.因为Date类只能按照默认样式展示,所以我们需要通过SimpleDateFormat类来将时间按照我们想要的方式进行表达。

2.可以字符串表示的时间变成Date对象。

 我们可以在java帮助文档中查找如何进行格式化表示:

 下面进行代码练习和运行结果:

3.Calendar类

Calendar代表了系统当前时间的日历对象,可以单独修改,获取时间中的年,月,日,非常便利。

注意:Calendar是一个抽象类,不能直接实例化对象。需要通过以下方法得到实例化对象:

Calendar c=Calendar.getInstance();

 底层原理,根据系统的不同时区来返回不同的日历对象。

 Calendar类中的常用方法:

tips:

  1.  该类中用0-11表示月份,0表示一月
  2. 在外国人眼中,星期日是一周中的第一天,1(星期日)2(星期一)......  7(星期六)

下面是代码练习和运行结果

4.JDK8-时区,时间和格式化

JDK7时间相关类在多线程环境下会导致数据安全的问题。

JDK8的时间日期对象都是不可变的,解决了这个问题。

1. ZoneId是一个时区类,可以进行时区相关操作

需要注意的是该类中的时区没有北京,我们一般使用上海。可以通过下面方法来获取默认时区或者指定任意时区。

Set<String> zoneIds= ZoneId.getAvailableZoneIds();
        System.out.println(zoneIds.size());
        System.out.println(zoneIds);

        ZoneId zoneId=ZoneId.systemDefault();//获取默认时区
        System.out.println(zoneId);

        ZoneId zoneId1=ZoneId.of("Etc/GMT+8");//指定时区
        System.out.println(zoneId1);

2.Instant是一个时间戳类,下面列举常用方法:

3. ZoneDateTime是一个带有时区的时间,下面是常用方法:

 4.SimpleDateFormat是一个日期格式化类,用于时间的格式化和解析,常用两个方法:

5.JDK8-日历和工具类

日历类有三个:LocalDate表示年,月,日   LocalTime表示时,分,秒  LocalDateTime表示年,月,日,时,分,秒。常见方法如下

可以发现JDK8新增时间类中对时间的增删改查方法类似,均是使用get,with,minus,plus开头的方法,我们也可以凭借这方便记忆。

工具类也有三个都是用来计算时间间隔的:Duration(侧重于秒,纳秒)  Period(侧重于年月日) ChronoUnit(适用于所有单位)

 

 

工具类中ChronoUnit是最方便的一个,也是我们计算时间间隔的首选。 

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

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

相关文章

前后端分离Vue+nodejs酒店公寓客房预订管理系统udr7l-java-php-django-springboot

本系统的设计与实现共包含13个表:分别是关于我们信息表&#xff0c;配置文件信息表&#xff0c;公寓信息评论表信息表&#xff0c;公寓入住信息表&#xff0c;公寓退房信息表&#xff0c;公寓信息信息表&#xff0c;公寓预订信息表&#xff0c;系统公告信息表&#xff0c;收藏表…

pdf电子准考证查询下载系统(实证效果可照片)V1.0

CSDNpdf电子准考证查询下载系统(实证效果可照片)V1.0 使用场景: 教育机构比如学校用pdf准考证查询下载系统(实证效果可照片,最适合准考证打印); 也可自定义图片及坐标用于各种优秀党员三好学生等荣誉证书、聘书授权代理pdf电子证书查询与下载。 推荐Linux PHP5.5-7.3使用使…

utniy urp shinyssrr插件使用

文章目录 前言步骤1首先在URP的配置文件里添加SSR后处理2 修改RenderingPath为延迟渲染3 启用深度纹理4 为物体添加脚本 注意事项插件下载 前言 用来实现屏幕空间反射效果 unity 版本为2021.3.8LTS&#xff0c;低版本的untiy URP的参数设置位置z可能会不同 步骤 1首先在URP的…

Spring对IoC的实现

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

多态——细致讲解

&#x1f536;多态基础概念  &#x1f536;概念   &#x1f531;多态性   &#x1f531;多态——重新(覆盖)  &#x1f536;示例   &#x1f536;基本使用方法   &#x1f536;特例    &#x1f531;协变    &#x1f531;析构函数重写  &#x1f531;多态原理…

链表OJ刷题(二)

制作不易&#xff0c;三连支持一下呗&#xff01;&#xff01;&#xff01; 文章目录 前言一、链表的回文结构二、相交链表三、链表中倒数第k个节点四、环形链表Ⅰ和Ⅱ总结 前言 一、链表的回文结构 链表的回文结构_牛客题霸_牛客网 这里我们需要先了解一下什么叫做回文&#…

测开新手:pytest+requests+allure自动化测试接入Jenkins学习

最近在这整理知识&#xff0c;发现在pytest的知识文档缺少系统性&#xff0c;这里整理一下&#xff0c;方便后续回忆。 在python中&#xff0c;大家比较熟悉的两个框架是unittest和pytest&#xff1a; Unittest是Python标准库中自带的单元测试框架&#xff0c;Unittest有时候…

基于python+django+mysql在线点餐订餐外卖系统设计与实现 开题报告参考

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

排序(3)——直接选择排序

目录 直接选择排序 基本思想 整体思路&#xff08;升序&#xff09; 单趟 多趟 代码实现 特性总结 直接选择排序 基本思想 每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的…

Python程序打包成exe可执行文件的常用方法

在Python中,您可以使用一些工具将您的Python程序打包成可执行文件(.exe)。以下是一些常用的工具: PyInstaller: PyInstaller是一个流行的工具,它可以将Python脚本打包成独立的可执行文件,支持Windows、Linux和Mac。您可以使用以下命令安装PyInstaller: pip install pyin…

Matlab:元胞自动机

元胞自动机是一种基于离散空间的动态系统&#xff0c;由许多简单单元按照某些规则进行相互作用和演化而形成的复杂结构。元胞自动机可以用于模拟物理、生物、社会等领域的现象&#xff0c;以及进行优化、图像处理、噪声生成等方面的应用。 例1&#xff1a;生命游戏 nextState…

每日一类:QLabel深入解析

QLabel是Qt中用于显示文本或图像的控件&#xff0c;属于Qt Widgets模块。它是展示静态内容的理想选择&#xff0c;支持富文本格式&#xff0c;使得文本可以包含不同的字体、颜色和链接。QLabel也可以用来显示图像&#xff0c;包括动态图像。此外&#xff0c;它还支持文本和图像…

【硬件相关】IB网/以太网基础介绍及部署实践

文章目录 一、前言1、Infiniband网络1.1、网络类型1.2、网络拓扑1.3、硬件设备1.3.1、网卡1.3.2、连接线缆a、光模块b、线缆 1.3.4、交换机 2、Ethernet网络 二、部署实践&#xff08;以太网&#xff09;1、Intel E810-XXVDA21.1、网卡信息1.2、检查命令1.2、驱动编译 2、Mella…

MySQL进阶:全局锁、表级锁、行级锁总结

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;MySQL进阶&#xff1a;MySQL事务、并发事务问题及隔离级别 &#x1f4da;订阅专栏&#xff1a;MySQL进阶 希望文章对你们有所帮助…

如何根据玩家数量和游戏需求选择最合适的服务器配置?

根据玩家数量和游戏需求选择最合适的服务器配置&#xff0c;首先需要考虑游戏的类型、玩家数量、预计的在线时间以及对内存和CPU性能的需求综合考虑。对于大型多人在线游戏&#xff0c;如MMORPG或MOBA等&#xff0c;由于需要更多的CPU核心数来支持更复杂的游戏逻辑和处理大量数…

【Spring Boot 3】的安全防线:整合 【Spring Security 6】

简介 Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro&#xff0c;它提供了更丰富的功能&#xff0c;社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多&#xff0c;因为相比与Sp…

Python中几个必须知道的函数

Python中自带了几个比较有意思的函数&#xff0c;一般在面试或者笔试基础的时候会问到&#xff0c;其中3个就是map、filter、reduce函数。 1.map(function, iterable) 它第一个要传的元素是函数名或lambda匿名函数表达式&#xff0c;第二个元素传入可迭代对象。 array [1,2,…

【饮食】日常零食 保健食品分类(附食品营养成分表与执行标准,Coursera营养学课程笔记)

程序员生活指南之 【饮食】日常零食 & 保健食品分类和推荐&#xff08;附食品营养成分表与执行标准&#xff09; 文章目录 一、保健食品1、什么是保健食品&#xff1f;2、常见保健食品分类3、常见保健食品推荐 二、日常零食&#xff08;食品营养成分表与执行标准&#xff0…

详解JavaScript的函数

详解 JavaScript 的函数 函数的语法格式 创建函数/函数声明/函数定义 function 函数名(形参列表) { 函数体 return 返回值; // return 语句可省略 } 函数调用 函数名(实参列表) // 不考虑返回值 返回值 函数名(实参列表) // 考虑返回值 示例代码 //定义的没有参数列表&am…

【C语言】sizeof和strlen的比较

1. sizeof和strlen的对比 1.1 sizeof 在学习操作符的时候&#xff0c;我们学习了 sizeof &#xff0c; sizeof 是一个单目操作符&#xff0c; 绝对不是函数&#xff01;&#xff01;&#xff01;sizeof 计算变量所占内存内存空间⼤⼩的&#xff0c;单位是字节。 如果操作数…