Date类.Java

目录

1.1Date概述

1.2Date常用方法

1.2.1 日期比较

2.1SimpleDateFormat类 

1. 基本概念

2.构造方法

2.1格式规则:

3.成员方法

3.1格式化日期和时间 

3.2解析日期和时间 

 4.练习1(出生日期)

5.练习2(秒杀活动)



1.1Date概述

util里面的Data类是JDK写好的一个JavaBean类,用来描述时间,精确到毫秒,毫秒是时间原点到当前时间。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数。

第一个构造函数使用当前日期和时间来初始化对象。

Date( )

第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。

Date(long millisec)

  • public Date():使用当前日期和时间来初始化对象。
  • public Date(long date)该参数是从1970年1月1日起的毫秒数,将指定参数的毫秒值date,转换成Date对象,分配Date对象并初始化此对象。

> tips: 由于中国处于东八区(GMT+08:00)是比世界协调时间/格林尼治时间(GMT)快8小时的时区,当格林尼治标准时间为0:00时,东八区的标准时间为08:00。

简单来说:

使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定long类型的构造参数,可以自定义毫秒时刻。例如:

> tips:在使用println方法时,会自动调用Date类中的toString方法。Date类对Object类中的toString方法进行了覆盖重写,所以结果为指定格式的字符串。 

1.2Date常用方法

Date类中的多数方法已经过时,常用的方法有:

  • public long getTime() 把日期对象转换成对应的时间毫秒值。
  • public void setTime(long time) 把方法参数给定的毫秒值设置给日期对象

示例代码

1.2.1 日期比较

Java使用以下三种方法来比较两个日期:

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值)的毫秒值,然后比较这两个值。

> 小结:Date表示特定的时间瞬间,我们可以使用Date对象对时间进行操作。

2.1SimpleDateFormat类 

1. 基本概念

java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换.由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat

SimpleDateFormat 是 Java 中的一个类,它属于 java.text 包,用于格式化和解析日期和时间。它允许你将日期和时间对象转换成字符串表示,或者将字符串解析成日期和时间对象。SimpleDateFormat 的灵活性和可定制性使得它成为处理日期和时间的强大工具。 

  • 格式化:按照指定的格式,从Date对象转换为String对象。(format(Date date))
  • 解析:按照指定的格式,从String对象转换为Date对象。(parse(String source))

2.构造方法

要使用 SimpleDateFormat,首先需要创建一个 SimpleDateFormat 对象。创建对象有两种,一种是空参SimpleDateFormat(),就是默认格式化时间;另一种是实参SimpleDateFormat(String pattern),参数pattern是一个字符串,代表日期时间的自定义格式,就是指定格式化时间 。下面是创建 SimpleDateFormat 对象的示例: 

//默认格式化时间
SimpleDateFormat dateFormat = new SimpleDateFormat();
//指定格式化时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

参数pattern是一个字符串,代表日期时间的自定义格式。

2.1格式规则:

SimpleDateFormat 的日期时间格式字符串是由一系列的模式字母组成的。这些模式字母代表日期时间的不同部分,如年、月、日、小时、分钟、秒等。下面是一些常见的模式字母:

标识字母(区分大小写)含义
y年(例如,“yy” 表示年份的后两位,“yyyy” 表示完整的年份)。
M月(1 到 12 或 01 到 12)。
d日(1 到 31 或 01 到 31)
H时(0 到 23 或 00 到 23)
m分(0 到 59或00到59)
s秒秒(0 到 59 或 00 到 59)

> 备注:你可以根据需要组合这些模式字母来创建自定义的日期时间格式。例如,“yyyy-MM-dd HH:mm:ss” 表示包含年、月、日、小时、分钟和秒的日期时间格式。更详细的格式规则,可以参考SimpleDateFormat类的API文档

3.成员方法

DateFormat类的常用方法有:

  • public String format(Date date)将Date对象格式化为字符串。

  • public Date parse(String source)将字符串解析为Date对象。

3.1格式化日期和时间 

一旦有了 SimpleDateFormat 对象,你可以使用它的 format() 方法将日期和时间对象格式化成字符串。下面是一个示例: 

Date--->String :

在上述示例中,我们获取了当前日期和时间,并使用 dateFormat 对象调用format()方法,将其格式化成字符串。创建对象有两种,一种是空参,就是默认格式化时间,输出将显示如下格式的日期时间:“24-4-27 上午12:47”;另一种是实参,就是指定格式化时间 ,输出将显示如下格式的日期时间:“2024年04月27日 00:47:15 星期六”。

3.2解析日期和时间 

 SimpleDateFormat 对象也可以用于解析字符串,你可以使用它的parse()方法将其转换成日期和时间对象。这在从用户输入或外部数据源中接收日期时间字符串时非常有用。下面是一个示例: 

String---> Date :

在上述示例中,我们将一个日期时间字符串解析成 Date 对象。创建对象的格式必须与字符串的格式完全一致,否则解析就会报错,然后对象调用parse()方法,输出将显示解析后的日期时间对象。 

 4.练习1(出生日期)

 需求:

 假设,你初恋的出生年月日为:2000-11-11
 请用字符串表示这个数据,并将其转换为:2000年11月11日

5.练习2(秒杀活动)

 需求:
            秒杀活动开始时间:2023年11月11日 0:0:0(毫秒值)
            秒杀活动结束时间:2023年11月11日 0:10:0(毫秒值)

            小贾下单并付款的时间为:2023年11月11日 0:01:0
            小皮下单并付款的时间为:2023年11月11日 0:11:0
            用代码说明这两位同学有没有参加上秒杀活动?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8s 使用 CephFS 作为后端存储(静态供给、动态供给)

一、K8s 使用 CephFS CephFS是 Ceph 中基于RADOS(可扩展分布式对象存储)构建,通过将文件数据划分为对象并分布到集群中的多个存储节点上来实现高可用性和可扩展性。 首先所有 k8s 节点都需要安装 ceph-common 工具: yum -y ins…

项目进度规划全攻略,助你成为项目管理高手

项目进度管理作为项目管理中的核心环节,对于确保项目按时交付、控制成本和提高质量至关重要。本文将详细介绍项目进度管理的基本步骤,帮助项目经理和团队成员更好地理解和执行进度管理工作。 项目进度管理的基本步骤主要包括以下几个方面: …

236基于matlab的三维比例导引法仿真

基于matlab的三维比例导引法仿真,可以攻击静止/机动目标。1.三维空间内的比例导引程序,采用龙哥库塔积分法;2.文件名为bili3dnew的.m文件是主函数,执行时需调用目标机动子函数、导引律子函数、数值积分法子函数;3.文件…

微服务之并行与分布式计算

一、概述 1.1集中式系统vs分布式系统 集中式系统 集中式系统完全依赖于一台大型的中心计算机的处理能力,这台中心计算机称为主机(Host 或 mainframe ),与中心计算机相连的终端设备具有各不相同非常低的计算能力。实际上大多数终…

《ESP8266通信指南》8-连接WIFI(Arduino开发)(非常简单)

往期 《ESP8266通信指南》7-Arduino 开发8266的环境配置与示例代码烧录-CSDN博客 《ESP8266通信指南》6-创建TCP服务器(AT指令)-CSDN博客 《ESP8266通信指南》5-TCP通信透传模式(AT指令)-CSDN博客 《ESP8266通信指南》4-以Client进行TCP通信&#xf…

弹性盒之主轴侧轴对齐方式

弹性盒设置主侧轴对齐方式 1.默认 justify-content: flex-start 2.justify-content: flex-end 3.justify-content: center 4.justify-content: space-between; 两端对齐 5.justify-content: space-around; 距离环绕 调整侧轴上中下 1.默认align-items: flex-start; …

论机器学习(ML)在网络安全中的重要性

机器学习是什么? 机器学习(ML)是人工智能的一个分支,它使用算法来使计算机系统能够自动地从数据和经验中进行学习,并改进其性能,而无需进行明确的编程。机器学习涉及对大量数据的分析,通过识别数据中的模式来做出预测…

在MySQL中isnull()函数不能作为替代null值!

在MySQL中isnull()函数不能作为替代null值! 如下: 首先有个名字为business的表: SELECT ISNULL(business_name,no business_name) AS bus_isnull FROM business WHERE id2 直接运行就会报错: 错误代码: 1582 Incor…

5本On Hold,6本预警被踢,学术诚信高风险期刊被踢9本,还剩1本你还敢投吗?

本周投稿推荐 SSCI • 2/4区经管类,2.5-3.0(录用率99%) SCIE(CCF推荐) • 计算机类,2.0-3.0(最快18天录用) SCIE(CCF-C类) • IEEE旗下,1/2…

禅道项目管理系统身份认证绕过漏洞

禅道项目管理系统身份认证绕过漏洞 1.漏洞描述 禅道项目管理软件是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,完整覆盖了研发项目管理的核心流程。 禅道项目管理系统…

如何使用 Internet Download Manager (IDM) 来加速和优化你的下载体验 IDM 6.41下载神器

在当今信息爆炸的时代,下载文件和媒体内容已成为我们日常生活的一部分。无论是工作学习还是娱乐休闲,我们都需要从互联网上下载各种资源。为了提高下载效率和确保文件完整性,选择一款优秀的下载管理软件至关重要。Internet Download Manager …

PotatoPie 4.0 实验教程(21) —— FPGA实现摄像头图像二值化(RGB2Gray2Bin)

PotatoPie 4.0开发板教程目录(2024/04/21) 为什么要进行图像的二值化? 当我们处理图像时,常常需要将其转换为二值图像。这是因为在很多应用中,我们只对图像中的某些特定部分感兴趣,而不需要考虑所有像素的…

JavaScript 中的IF判断竟然可以这样写,效率更高

当然,它们是创建控制流的一种简单而方便的方式,但你可以写下数十亿行条件性的 JavaScript 代码,而不需要一个 if 语句。 而且有很多情况下,使用不同的结构会更清晰地展示你想要做的事情 —— 只要我们还在为人类编写代码&#xf…

深度学习系列65:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入,主要流程包括: 1) 使用cv2获取视频中所有帧的列表,如下: 2)定义Croper。核心代码为69行:full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…

基于springboot+vue+Mysql的乐校园二手书交易管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

OPPO手机支持深度测试+免深度测试解锁BL+ROOT权限机型整理-2024年3月更新

绿厂OPPO手机线上线下卖的都很不错,目前市场份额十分巨大,用户自然也非常多,而近期ROM乐园后台受到很多关于OPPO手机的私信,咨询哪些机型支持解锁BL,ROOT刷机,今天ROM乐园正式盘点当前市场上可以解BL刷root…

Android图片压缩、Drawable和Bitmap转换、bitmap和base64转换

1. Android图片压缩、Drawable和Bitmap转换、bitmap和base64转换 1.1. Drawable和Bitmap之间的转化 1.1.1. bitmap和Drawable间的区别 Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执…

【YesPMP】众包平台,最新项目

YesPMP平台专注于软件开发领域,是专业的一站式互联网众包平台,目前平台汇聚了上万个解决方案,覆盖全国,拥有众多专业优质的H5开发服务商,专为企业提供软件H5开发解决方案,提高企业的知名度。优秀的H5能为用…

云仓酒庄北京发布会与《综合品酒师》培训的延伸层次分享

原标题:云仓酒庄北京发布会与《综合品酒师》培训近日,云仓酒庄在北京举办了一场盛大的发布会,并近期举行了首届《综合品酒师》培训活动。这一事件不仅引起了业内的广泛关注,更成为了酒类行业专业化、规范化发展的重要里程碑。大世…

[移动端] “viewport“ content=“width=device-width, initial-scale=1.0“ 什么意思

布局视口, 代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Document</title><style>body,html {margin: 0;padding: 0;}.box {width: 200px;height: 200px;background-color: pi…
最新文章