日期和时间的API

news2024/11/25 3:00:42

一、JDK8之前的日期和时间的API

1.System类中的currentTimeMillis()

返回当前时间与1970年1月1日0分0秒之间以毫秒为单位的时间差,称为时间戳

2.Java.util.Date类 |---java.sql.Date类

1.两个构造器的使用

>构造器一: Date(): 创建一个对应当前时间的Date对象

>构造器二:创建指定毫秒数的Date对象

 2.两个方法的使用

>toString(): 显示当前的年、月、日、时、分、秒

> getTime(): 获取当前Date对象对应的毫秒数(时间戳)

 3.java.sql.Date对应着数据库中的日期类型的变量

>如何实例化

>如何将java.util.Date对象转换为java.sql.Date对象

 

 3.SimpleDateFormat的使用: simpleDateFormat对日期Date类的格式化和解析

 1.两个操作:

>格式化:日期 --->字符串

>解析:格式化的逆过程,字符串 ---> 日期

 

 4.Calendar日历类(抽象类)的使用

1.实例化

方式一:创建其子类 (GregorianCalendar) 的对象

方式二:调用其静态方法getInstance()

Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getClass());

 2.常用方法

getTime(): 日历类---> Date

Date date = calendar.getTime();

System.out.println(date);

setTime():Date ---> 日历类

Date date1 = new Date();

calendar.setTime(date1);

days = calendar.get(Calendar.DAY_OF_MONTH);

System.out.println(days);

 

 二、JDK8中的日期和时间的API

 1.出现的背景

 

 2.LocalDate、LocalTime、LocalDateTime 的使用:

1.LocaLDateTime相较FLocalDate、LocalTime,使用频率要高

2.类似于Calendar

//now(): 获取当的日期、时间、日期+时间
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();

//of(): 设置指定的年、月、日、时、分、秒。没有偏移量
LocalDateTime localDateTime1 = LocalDateTime.of( year: 2020, month: 10, dayOfMonth: 22)
System.out.println(localDateTime1);

//getXxx(): 获取相关的属性
System.out.printIn(localDateTime.getDayofMonth());
System.out.printIn(localDateTime.getDayofWeek());
System.out.printIn(localDateTime.getMonth());
System.out.printIn(localDateTime.getMonthValue());
System.out.println(localDateTime.getMinute());

//体现不可变性
//withXxx(): 设置相关的属性
LocalDate localDate1 = localDate.withDayofMonth(22);
System.out.printIn(localDate);
System.out.println(localDate1);

LocalDateTime localDateTime2 = localDateTime.withHour(4);
System.out.printIn(localDateTime);
System.out.printIn(localDateTime2);
//不可变性
LocalDateTime localDateTime3 = locaDateTime.plusMonths(3);
System.out.println(localDateTime);
System.out.println(localDateTime3);

3.Instant类的使用

Instant: 时间线上的一个瞬时点。 这可能被用来记录应用程序中的事件时间戳。

类似于Java.Util.Date类

//now(): 获取本初子午线对应的标准时间
Instant instant = Instant .now();
System.out.println(instant);//2019-02-18T7:29:41.719Z

//添加时间的偏移量
OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
System,out.println(offsetDateTime);//2019-02-18T15:32:50.611+08:00

//toEpochMilli(): 获取自197年1月1时分秒(UTC)开始的毫秒数---> Date类的getTime
long milli = instant.toEpochMilli();
System.out.println(milli);

//ofEpochMilLi():通过给定的毫秒数,获取Instant实例 -->Date(Long millis)
Instant instant1 = Instant.ofEpochMilli(1550475314878L);
System.out.println(instant1);

 4.DateTimeFormatter的使用:格式化或解析日期、时间

重点: 方式三:自定义的格式。如: ofPattern(“yyyy-MM-dd hh:mm:ss”)
DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")
//格式化
String str4 = formatter3.format(LocalDateTime.now());
System.out.println(str4);//2919-02-18 3:52:09

5.其他日期API

 

 

 

 

 三、与传统日期处理API的转换

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

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

相关文章

CVE-2022-08475-DirtyPipe

前言CVE-2022-0847 DirtyPipe脏管道漏洞是Linux内核中的一个漏洞,该漏洞允许写只读文件,从而导致提权。调试环境• ubuntu 20.04• Linux-5.16.10• qemu-system-x86_64 4.2.1漏洞验证首先创建一个只读文件foo.txt,并且正常情况下是无法修改该…

2022年「博客之星」参赛博主:黛琳ghz

我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励。五星必回,诚信互评,(如果)今日已满,明天必回,言出必行,感谢支持! 我正在…

Protobuf:python版使用

目录 Protobuf详解 Python使用方式 下载protoc 编写.proto协议文件 编译Protocol buffer 存储/读取数据测试 Protobuf详解 深入 ProtoBuf - 简介 - 简书 (jianshu.com)[索引]文章索引 - 简书 (jianshu.com) Protobuf3语法详解 - 望星辰大海 - 博客园 (cnblogs.com) Pyth…

联芸科技冲刺科创板上市:业绩表现不稳定,实控人方小玲为美国籍

12月28日,联芸科技(杭州)股份有限公司(下称“联芸科技”)在上海证券交易所递交招股书,准备在科创板上市。 本次冲刺上市,联芸科技计划募资20.50亿元,其中4.66亿元用于新一代数据存储…

prophet模块学习总结-20221228

prophet模块的基本介绍及相关用法说明。 文章目录1.基本介绍Prophet包的特点2.Prophet 模型介绍2.1 长期趋势模型2.2 The Seasonality Function(季节函数)2.3 The Holiday/Event Function(节日函数)3.使用示例3.1 快速开始3.2 调节…

MetersPhere自动化解决用户登录问题+添加钉钉机器人

MetersPhere自动化解决用户登录问题添加钉钉机器人 现在遇到的问题,做自动化的时候几乎每个接口都需要token,这个token是登录获取的,那我有很多个自动化的场景,如果我每一个场景都加入登录接口,同时执行很多场景的时候…

骨传导耳机有用吗,最好用的骨传导耳机分享

骨传导耳机有没有用这个问题,主要还是看自己需要骨传导耳机的根本需求是什么,骨传导耳机更多的使用场景是在户外运动,但是日常才室内使用或者长时间使用的耳机爱好者,骨传导耳机也能在一定程度上保护听力,下面就分享五…

浅聊OpenHarmony

接触OpenHarmony快一年了,这里简单总结下自己对OpenHarmony的理解,如果有不对的地方,欢迎来讨论。OpenHarmony是什么?了解这个之前我们可以先来看看什么是开源? 一、开源是什么? 开源简单来讲&#xff0c…

阿里云视频点播资源迁移及回溯校验

阿里云视频点播资源迁移及回溯校验一:准备环境1.1、搭建springboot1.2、引入外部包二:表与配置2.1、拉取视频点播文件2.2、建表2.3、yml配置文件三:代码3.1、XML3.2、entity3.3、mapper3.4、Synchronize3.5、视频迁移Controller3.6、视频回溯…

Fedora初始化 | python在Fedora中的初始化搭建

本来是想玩一下ArticlePairMatching-master,结果需要graph-tool工具,这哥们需要c等环境,无法在window中直接安装。 望着不堪重负的win系统,还是安了一个全新的Fedora虚拟机作为实验环境吧。 1. 使用VMWare安装Fedora Fedora的图形…

户外徒步戴什么耳机比较好、最适合户外运动的五款耳机推荐

现在人们对自己的身体状态越来越重视了,无论是怎样的生活,一个健康的身体非常重要,近几年的运动健身热潮的兴起,能看出来人们会花更多的时间去锻炼自己的身体了,与之而来的就是各种健身、运动的蓝牙耳机不断的推陈出新…

2022餐馆设计最新十大排行榜(附餐馆设计案例图片)

随着生活水平的提升,人们对于用餐的环境要求越来越高,对于餐馆设计的要求随之提高,因此在装修时,很多餐饮老板想找一家实力强的餐厅设计公司,那么国内的餐饮设计公司数量庞大,有哪些擅长餐饮设计呢&#xf…

android生成javadoc

生成步骤 菜单 Tools -> Generate JavaDoc! 问题: 1.JavaDoc导出时出现乱码报错 错误: 编码GBK的不可映射字符 菜单 Tools -> Generate JavaDoc,弹出配置面板 在Other command line arguments 栏输入:-encoding utf-8 -charset utf-8 2.提示 程序…

C/S快速开发框架源码 winform快速开发框架源码

C/S系统开发框架源码 C#快速开发框架源码(CS版)00683 源码分享,需要源码学习可私信我。 系统功能: 该框架采用逻辑上的三层模式开发业务处理和数据处理完全分开,采用C#语言和MSSQL进行开发,主要实现了菜…

微信小程序 会议OA项目-其它页面04

目录 1.会议管理 1.1 自定义tabs组件 1.2 会议管理 2.投票管理 3.个人中心 1.会议管理 1.1 自定义tabs组件 文档参考:自定义组件 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/ 新建一个文件夹&#xff1…

尚医通-数据字典-EasyExcel-导入 导出(十四)

目录: (1)EasyExcel-写操作 (2)EasyExcel-读操作 (3)后台系统-数据字典-导出 (4) 后台系统-数据字典-导入 (1)EasyExcel-写操作 往数据字典里…

家用摄像头选择(户内外)

不知道摄像头怎么选?看下面几篇就够了。 1、户外监控摄像头,哪个品牌的比较好? - 知乎 2、【室外篇】家用监控摄像头选购要素及不同场景下高性价比监控摄像头推荐 - 知乎 3、家用摄像头选什么牌子的好? - 知乎 优先选焦距 IP防水防尘&…

超宽带(UWB)开发板BU0/DW1000性能测试

简介 本实验目的是测试NodeMCU-BU01开发板测距的性能。 BU01是基于Decawave的DW1000设计的超宽带(UWB)收发器模组。BU01可以用于双向测距或TWR定位系统中,定位精度可达到10厘米,并支持高达6.8 Mbps的数据速率。 UWB技术是一种使…

“ 1天投200次简历,依旧石沉大海 ” 这届年轻人的“求职焦虑”,如何缓解?

最近在新闻上看到这样一则热议事件:“1天投200次简历”?多方发力,缓解应届生“求职焦虑”。 教育部公布的数据显示,我国2022届全国普通高校毕业生数量为1076万人,而2023届预计达1158万人,同比将增加82万人…

通过webpack配置【程序打包时间】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、webpack打包定义全局常量二、将全局常量设置为当前时间三、在console中输出BUILDTIME前言 大家都是做项目研发的,“打包”、“提测”、“发版”…