Java基础:日期时间相关类

1、Date【掌握】

表示时间的类,继承了Object类,实现了序列化、克隆和比较器接口。

Date不是final的,它是可以被继承的。有一个子类是java.sql.Date,注意这个类,平时开发不用这个类,由于两个类的名字相同,而且是父子类关系,所以很容易犯错,引包时也要注意。

计算机中表示时间的方式是用一个long类型保存一个整数,这个整数时从1970年1月1日00:00:00:000开始,每过一毫秒加一,从0时区开始,我们是东8区,所有当这个long值为0时,表示的是8点

1、构造方法

无参构造方法:当前时间。

参数是long的构造方法:表示long毫秒的时间。

2、常用方法

after:是否是在某日期时间之后。

before:是否是在某日期时间之前。

equals:是否和某日期时间相同。equals方法重写了Object中的方法,比较的是两个对象表示的日期时间是否是同一个。

compareTo:比较两个时间,如果当前时间比参数时间大,返回正数,如果小,返回负数,如果相同返回0。

getTime:放回日期时间的毫秒数。

public class TestDate {
    public static void main(String[] args) {
        Date d1 = new Date();
        System.out.println(d1);
        Date d2 = new Date(0);
        System.out.println(d2);
        System.out.println(d1.after(d2));
        System.out.println(d1.before(d2));
        System.out.println(d1.getTime());
        Date d3 = new Date(d2.getTime());
        System.out.println(d2 == d3);
        System.out.println(d2.equals(d3));
        Date d4 = new Date(d1.getTime() + 100000);
        System.out.println(d1.compareTo(d2));
        System.out.println(d1.compareTo(d4));
        System.out.println(d1.compareTo(d1));
    }
}

Sat Feb 15 11:13:33 CST 2020
Thu Jan 01 08:00:00 CST 1970
true
false
1581736413409
false
true
1
-1
0

2、DateFormat【掌握】

DateFormat是日期格式类,它是一个抽象类,是不能被实例化对象的。在DateFormat中定义了很多属性和方法,为它的子类服务。SimpleDateFormatDateFormat的子类,它是一个可以被实例化的类,一般日期格式化时都用SimpleDateFormat

1、构造方法

有一个字符串参数的构造方法,这个字符串表示格式化的规则

2、常用方法

format(日期对象):将一个日期对象格式化成一个字符串,格式化的规则是创建时传入的字符串。

parse(String):将字符串按照指定的格式转化成一个日期对象。

3.格式化规则

public class TestDateFormat {
    public static void main(String[] args) throws ParseException {
        DateFormat dfDate2Str = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        String dateStr = dfDate2Str.format(new Date());
        System.out.println(dateStr);
        DateFormat dfStr2Date = new SimpleDateFormat("yyyy-MM-dd");
        Date strDate = dfStr2Date.parse("2020-02-15");
        System.out.println(strDate);
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = df.parse("2020-02-15 13:13:13");
        System.out.println(d);
        String str = df.format(new Date());
        System.out.println(str);
    }
}

3、Calendar【了解】

Calendar是一个用于处理日期和时间的类。它提供了许多方法来获取和设置日期、时间以及执行日期和时间的计算操作。Calendar类是一个抽象类,通过调用其静态方法getInstance()来获取一个Calendar对象的实例。

Calendar常用方法及示例

public static void main(String[] args){
    Calendar calendar = Calendar.getInstance();
    System.out.println("年:"+calendar.get(Calendar.YEAR));
    System.out.println("月:"+(calendar.get(Calendar.MONTH) + 1));
    System.out.println("日:"+calendar.get(Calendar.DAY_OF_MONTH));
    System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));
    System.out.println("分:"+calendar.get(Calendar.MINUTE));
    System.out.println("秒:"+calendar.get(Calendar.SECOND));
    System.out.println("星期:"+calendar.get(Calendar.DAY_OF_WEEK));
}

年:2024
月:7
日:9
时:14
分:43
秒:7
星期:3

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

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

相关文章

备忘笔记-工具:JetBrains友好工具安装配置

1、配置/脚本文件下载 1、校验地址:https://3.jetbra.in/ 打开选择可用链接,点击跳转可用页面。 2、下载文件 左上角点击下载jetbra.zip文件 下载对应全家桶软件版本号,版本号在对应卡票右上角可见。 2、安装包下载 官网地址&#xff1a…

Flask 基于wsgi源码启动流程

1. 点击 __call__ 进入到源码 2. 找到 __call__ 方法 return 执行的是 wsgi方法 3. 点击 wsgi 方法 进到 wsgi return 执行的是 response 方法 4. 点击response 方法 进到 full_dispatch_request 5. full_dispatch_request 执行finalize_request 方法 6. finalize_request …

Linux 下进程基本概念与状态

文章目录 一、进程的定义二、 描述进程-PCBtask_ struct内容分类 三、 进程状态 一、进程的定义 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。广义定义:进程是一个具有一定…

IDEA使用tips(LTS✍)

一、查找项目中某个外部库依赖类的pom来源 1、显示图 2、导出Maven 项目依赖的可视化输出文件 3、点击要查找的目标类,项目中定位后复制依赖名称 4、在导出的依赖的可视化文件中搜索查找 5、综上得到,Around类来自于pom中的spring-boot-starter-aop:jar…

【shell编程】函数、正则表达式、文本处理工具

函数 系统函数 常见内置命令 echo打印输出 #!/bin/bash # 输出普通文本 echo "Hello, World!"# 输出变量值 name"Alice" echo "Hello, $name"# 输出带有换行符的文本 echo -n "Hello, " # -n 选项不输出换行 echo "World!&quo…

如何选择服务器

如何选择服务器 选择服务器时应考虑以下几个关键因素: 性能需求。根据网站的预期流量和负载情况,选择合适的处理器、内存和存储容量。考虑网站是否需要处理大量动态内容或高分辨率媒体文件。 可扩展性。选择一个可以轻松扩展的服务器架构,以便…

LeetCode 904.水果成篮

LeetCode 904.水果成篮 思路🧐: 求水果的最大数目,也就是求最大长度,我们是单调的向前求解,则能够想到使用滑动窗口进行解答,可以用hash表统计每个种类的个数,kinds变量统计当前种类&#xff0c…

初始Python篇(7)—— 正则表达式

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: Python 目录 正则表达式的概念 正则表达式的组成 元字符 限定符 其他字符 正则表达式的使用 正则表达式的常见操作方法 match方法的…

小程序免备案:快速部署与优化的全攻略

小程序免备案为开发者提供了便捷高效的解决方案,省去繁琐的备案流程,同时通过优化网络性能和数据传输,保障用户体验。本文从部署策略、应用场景到技术实现,全面解析小程序免备案的核心优势。 小程序免备案:快速部署与优…

L14.【LeetCode笔记】返回倒数第k个节点

目录 1.题目 2.分析 思路 代码 提交结果 1.题目 面试题 02.02. 返回倒数第 k 个节点 实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 注意:本题相对原题稍作改动 示例: 输入: 1->2->3->4->5 和 …

深入解析 EasyExcel 组件原理与应用

✨深入解析 EasyExcel 组件原理与应用✨ 官方:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 在日常的 Java 开发工作中,处理 Excel 文件的导入导出是极为常见的需求。 今天,咱们就一起来深入了解一款非常实用的操作 Exce…

基于Java Springboot高校教室资源管理系统

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据库:…

k8s1.31版本最新版本集群使用容器镜像仓库Harbor

虚拟机 rocky9.4 linux master node01 node02 已部署k8s集群版本 1.31 方法 一 使用容器部署harbor (1) wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce systemctl enable docker…

C语言数据结构学习:循环队列

C语言 数据结构学习 汇总入口: C语言数据结构学习:[汇总] 1. 循环队列 队列的博客:C语言数据结构学习:队列 循环队列会预先定义最大队列空间,然后定义一个数组,通过队列头和队列尾指针分别指向开头和结尾&…

Vue——响应式数据,v-on,v-bind,v-if,v-for(内含项目实战)

目录 响应式数据 ref reactive 事件绑定指令 v-on v-on 鼠标监听事件 v-on 键盘监听事件 v-on 简写形式 属性动态化指令 v-bind iuput标签动态属性绑定 img标签动态属性绑定 b标签动态属性绑定 v-bind 简写形式 条件渲染指令 v-if 遍历指令 v-for 遍历对象的值 遍历…

小米note pro一代(leo)线刷、twrp、magisk、TODO: android源码编译

本文主要说android5 整体思路 android 5.1 twrp magisk Zygisk(Riru) Dreamland(xposed) Riru不支持android5.1, 因此只能选择Zygisk : 如果你正在使用 Android 5,你必须使用 Zygisk 因为 Riru 并不支持 Android 5. 基于magisk之上的xposed 其中提到的 作者…

自然语言处理: RAG优化之Embedding模型选型重要依据:mteb/leaderboard榜

本人项目地址大全:Victor94-king/NLP__ManVictor: CSDN of ManVictor git地址:https://github.com/opendatalab/MinerU 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路…

Redis 常用数据类型插入性能对比:循环插入 vs. 批量插入

Redis 是一款高性能的键值数据库,其支持多种数据类型(String、Hash、List、Set、ZSet、Geo)。在开发中,经常会遇到需要插入大量数据的场景。如果逐条插入,性能会显得较低,而采用 Pipeline 批量插入 能大幅提…

oneplus6线刷、trwp、magisk(apatch)、LSPosed、Shamiko、Hide My Applist

oneplus6线刷android10.0.1 oneplus6线刷包(官方android10.0.1)下载、线刷教程: OnePlus6-brick-enchilada_22_K_52_210716_repack-HOS-10_0_11-zip 启用开发者模式 设置 / 连续点击6次版本号 : 启用开发者模式设置/开发者模式/{打开 usb调试, 打开 网络adb调试,…

node.js中使用express.static()托管静态资源

express.static()定义 express.static(root, [options])是一个中间件函数,负责为Express应用提供静态资源服务。它允许你指定一个或多个目录作为静态资源的根目录,当客户端请求这些资源时,Express会查找并返回对应的文件。 安装express npm i…