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

目录

时间类相关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.mzph.cn/news/715116.shtml

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

相关文章

我在代码随想录|写代码Day30 | 贪心算法 | 435. 无重叠区间,763.划分字母区间, 56. 合并区间, 738.单调递增的数字

&#x1f525;博客介绍&#xff1a; 27dCnc &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: <<数据结构与算法>> 专题 : 数据结构帮助小白快速入门算法 &…

[HackMyVM]靶场 VivifyTech

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Unk…

matlab阶段学习小节1

数组排序 fliplr()实现数组倒序&#xff0c;但不对大小进行排序&#xff0c;只是元素位置掉头。 要想实现大小倒序排列&#xff0c;可以先sort()实现正序排列&#xff0c;再用fliplr倒一下 %数组运算 %矩阵 %xAb的解xb/A;(矩阵) %右除运算A/B&#xff0c;左矩阵为被除数&a…

多态——细致讲解

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

redis实战笔记汇总

文章目录 1 NoSQL入门概述1.1 能干嘛&#xff1f;1.2 传统RDBMS VS NOSQL1.3 NoSQL数据库的四大分类1.4 分布式数据库CAP原理 BASE原则1.5 分布式集群简介1.6 淘宝商品信息的存储方案 2 Redis入门概述2.1 是什么&#xff1f;2.2 能干嘛&#xff1f;2.3 怎么玩&#xff1f;核心…

46、WEB攻防——通用漏洞PHP反序列化原生类漏洞绕过公私有属性

文章目录 几种常用的魔术方法1、__destruct()2、__tostring()3、__call()4、__get()5、__set()6、__sleep()7、__wakeup()8、__isset()9、__unset()9、__invoke() 三种变量属性极客2019 PHPphp原生类 几种常用的魔术方法 1、__destruct() 当删除一个对象或对象操作终止时被调…

像用Excel一样用Python:pandasGUI

文章目录 启动数据导入绘图 启动 众所周知&#xff0c;pandas是Python中著名的数据挖掘模块&#xff0c;以处理表格数据著称&#xff0c;并且具备一定的可视化能力。而pandasGUI则为pandas打造了一个友好的交互窗口&#xff0c;有了这个&#xff0c;就可以像使用Excel一样使用…

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

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

Linux线程【互斥与同步】

目录 1.资源共享问题 1.1多线程并发访问 1.2临界区和临界资源 1.3互斥锁 2.多线程抢票 2.1并发抢票 2.2 引发问题 3.线程互斥 3.1互斥锁相关操作 3.1.1互斥锁创建与销毁 3.1.2、加锁操作 3.1.3 解锁操作 3.2.解决抢票问题 3.2.1互斥锁细节 3.3互斥…

github用法详解

本文是一篇面向全体小白的文章,图文兼备。为了让小白们知道如何使用GitHub,我努力将本文写得通俗易懂,尽量让刚刚上网的小白也能明白。所以各位程序员们都可以滑走了~ 啥是GitHub? 百度百科会告诉你, GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为…

Topaz Gigapixel AI:让每一张照片都焕发新生mac/win版

Topaz Gigapixel AI 是一款革命性的图像增强软件&#xff0c;它利用先进的人工智能技术&#xff0c;能够显著提升图像的分辨率和质量。无论是摄影爱好者还是专业摄影师&#xff0c;这款软件都能帮助他们将模糊的、低分辨率的照片转化为清晰、细腻的高分辨率图像。 Topaz Gigap…

JavaWeb——011 SpringBootWeb综合案例(删除/修改员工、文件上传、配置文件)

SpringBootWeb案例 目录 SpringBootWeb案例1. 新增员工1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 功能测试1.6 前后端联调 2. 文件上传2.1 简介2.2 本地存储2.3 阿里云OSS2.3.1 准备2.3.2 入门2.3.3 集成 3. 修改员工3.1 查询回显3.1.1 接口文档3.1.2 实现思路3.1.3 代…

07 编译器

目录 编译过程编译器查看详解函数库自动化构建工具进度条程序 1. 编译过程 预处理: a. 去注释 b.宏替换 c.头文件展开 d.条件编译 编译: 汇编 汇编: 可重定向二进制目标文件 链接: 链接多个.o, .obj合并形成一个可执行exe gcc编译c程序, g编译c程序 2. 编译器查看 输入gcc …

mac苹果电脑c盘满了如何清理内存?2024最新操作教程分享

苹果电脑用户经常会遇到麻烦:内置存储器(即C盘)空间不断缩小&#xff0c;电脑运行缓慢。在这种情况下&#xff0c;苹果电脑c盘满了怎么清理&#xff1f;如何有效清理和优化存储空间&#xff0c;提高计算机性能&#xff1f;成了一个重要的问题。今天&#xff0c;我想给大家详细介…

备战蓝桥杯---线段树基础2

今天我们把线段树的另一个模板看一下&#xff1a; 在这里&#xff0c;我们注意到乘的操作&#xff0c;因此我们用两个懒标记来分别表示加和乘&#xff0c;这时我们面临了一个问题&#xff0c;就是当我们把标记往下传时&#xff0c;它的儿子怎么知道是先乘还是先加&#xff1f; …

2025张宇考研数学,百度网盘视频课+36讲PDF讲义+真题

张宇老师的课属于幽默生动&#xff0c;会让一个文科生爱上数学&#xff0c;但是有的同学不知道在哪看&#xff0c;可以看一下&#xff1a;2025张宇考研数学全程网盘 docs.qq.com/doc/DTmtOa0Fzc0V3WElI 可以粘贴在浏览器 张宇30讲作为一本基础讲义&#xff1a;和教材…

java的线程池介绍

什么是线程池&#xff1f; 线程池是一种用于管理和复用线程的机制&#xff0c;旨在减少线程的创建和销毁次数&#xff0c;提高线程的可重用性和执行效率。通过线程池&#xff0c;可以控制线程的数量、数量大小以及线程的执行方式&#xff0c;从而更加有效地处理并发任务。 线…

如何使用公网地址远程访问内网Nacos UI界面查看注册服务

文章目录 1. Docker 运行Nacos2. 本地访问Nacos3. Linux安装Cpolar4. 配置Nacos UI界面公网地址5. 远程访问 Nacos UI界面6. 固定Nacos UI界面公网地址7. 固定地址访问Plik Nacos是阿里开放的一款中间件,也是一款服务注册中心&#xff0c;它主要提供三种功能&#xff1a;持久化…

6、wuzhicms代码审计

wuzhicms代码审计 前言 安装环境配置 服务器要求 Web服务器: apache/nginx/iis PHP环境要求:支持php5.2、php5.3、php5.4、php5.5、php5.6、php7.1 (推荐使用5.4或更高版本!) 数据库要求: Mysql5www/install文件夹即可进入安装页面 审计开始 首页文件index.php&#xff0c…

kubernetes+prometheus+grafana监控+alertmanager实现qq邮箱报警

prometheus基于kubernetes监控 prometheus对kubernetes的监控 对于Kubernetes而言&#xff0c;我们可以把当中所有的资源分为几类&#xff1a; 基础设施层&#xff08;Node&#xff09;&#xff1a;集群节点&#xff0c;为整个集群和应用提供运行时资源容器基础设施&#xff…