当前位置: 首页 > news >正文

javaAPI(三):jdk8之前的日期API

jdk 8之前的日期时间API

1、System类中currentTimeMillis()。
2、 java.util.Date和子类java.sql.Date。
3、SimpleDateFormat
4、Calendar

System返回时间戳

long time = System.currentTimeMillis();System.out.println(time);

Date类

java.util.Date类

实例化

构造器一:Date(),创建当前时间的对象。
构造器二:Date(long time),创建一个time时间戳的对象。

 Date date1 = new Date();//创建当前时间的对象Date date2 = new Date(1586664893454L);创建一个time时间戳的对象

方法
toString() 显示当前时间的年月日时分秒
getTime() 获取当前对象的时间戳

System.out.println(date1.toString());//显示当前时间的年月日时分秒:Sun Apr 12 13:00:48 CST 2020
System.out.println(date1.getTime());//获取当前对象时间戳:1586667648419

java.sql.Date

对应着数据库中日期类型的变量。
构造器

数据库Date()构造器只有时间戳有参构造器。

方法

toString() 只显示当前时间的年月日
getTime() 获取当前对象的时间戳。

java.sql.Date date = new java.sql.Date(1586664893454L);
System.out.println(date.toString());//只显示年月日

java.util.Date与java.sql.Date的转换

sql.Date()–>util.Date(): 直接赋值 ,多态的体现。

Date date1 = new Date();
java.sql.Date date2 = new java.sql.Date(1586664893454L);
date1 = date2;

util.Date()–>sql.Date():
**方式一:**强制转换

Date date3 = new java.sql.Date(1586664893454L);
java.sql.Date date4 = (java.sql.Date) date3;//强制转换方式

方式二:

Date date5 = new Date();
java.sql.Date date6 = new java.sql.Date(date5.getTime());//构造器获取时间戳(getTime获取时间戳)

SimpleDateFormat

Date类API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。
它允许进行格式化: 日期->文本 解析: 文本->日期

格式化:日期(类型)—>字符串

SimpleDateFormat():默认的模式和语言环境创建对象
public SimplDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象。
public String format(Date date):SimpleDateFormat对象调用此方法格式化时间对象Date

public void testSimpleDateFormat() throws ParseException {//使用默认构造器SimpleDateFormat sdf = new SimpleDateFormat();Date date = new Date();String format = sdf.format(date);System.out.println(format);//20-4-14 下午12:41//使用自定义格式构造器,调用带参构造器SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String format1 = sdf1.format(date);System.out.println(format1);//2020-04-14 12:41:54}

解析:字符串—>日期(类型)

public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期。
传入的字符串需要满足构造器给定的格式。需要抛出异常:对写入的字符串不识别,需要抛异常。

public void testSimpleDateFormat2() throws ParseException {//使用默认构造器SimpleDateFormat sdf = new SimpleDateFormat();Date parse = sdf.parse("20-4-14 下午12:41");System.out.println(parse);//使用自定义格式构造器SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");Date parse1 = sdf1.parse("2020-04-14 12:41:54");System.out.println(parse1);}

练习题

三天打鱼两天筛网 1990-01-01 xxxx-xx-xx 打鱼?筛网?
思路:

总天数 % 5 ==1,2,3:打鱼
总天数 % 5 == 4,0:筛网
总天数计算:
(date2.getTime() - date1.getTime()) / (1000 * 60 *60 *24)) +1
+1的原因:在java中 / 结果为整数,除不尽的情况下,+1更加准确。

Calendar日历类(抽象类)

Calendar是一个抽象基类,主要用于完成日期字段之间互相操作功能。

Calendar实例化

1、调用它的子类GregorianCalendar的构造器
2、使用Calendar.getInstance()方法

 Calendar calendar = Calendar.getInstance();System.out.println(calendar.getClass());//class java.util.GregorianCalendar:仍是Calendar其子类对象GregorianCalendar

Calendar方法

一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。例:YEAR,MONTH,DAY_OF_WEEK,HOUR_OF_DAY,MINUTE,SECOND
public void set(int field,int value)
public void add(int field,int amount)
public final Date getTime()
public final void setTime(Date date)

注释:
获取月份时:一月是0,二月是1,12月是11
获取星期时:周日是1,周二是2,周六是7

public void testCalendar(){/*实例化方式一:创建其子类对象(GregorianCalendar)的对象方式二:调用其静态方法getInstance()*/Calendar calendar = Calendar.getInstance();System.out.println(calendar.getClass());//class java.util.GregorianCalendar:仍是Calendar其子类对象GregorianCalendar//get()int days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);//14//set()calendar.set(Calendar.DAY_OF_MONTH,22);//此方法无返回值,那么意味着直接更改days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);//22//add()calendar.add(Calendar.DAY_OF_MONTH,3);//对属性增加三天   -3为减三天days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);//25//getTime():日历类  --> Date对象Date time = calendar.getTime();//返回一个Date对象System.out.println(time);//Sat Apr 25 14:37:22 CST 2020//setTime():Date -->日历类Date date = new Date();calendar.setTime(date);days = calendar.get(Calendar.DAY_OF_MONTH);System.out.println(days);//14}

相关文章:

javaAPI(三):jdk8之前的日期API

jdk 8之前的日期时间API 1、System类中currentTimeMillis()。 2、 java.util.Date和子类java.sql.Date。 3、SimpleDateFormat 4、Calendar System返回时间戳 long time System.currentTimeMillis();System.out.println(time);Date类 java.util.Date类 实例化 构造器一&a…...

驱动开发(中断)

头文件: #ifndef __LED_H__ #define __LED_H__#define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014 #define PHY_LED1_RCC 0X50000A28#define PHY_LED2_MODER 0X50007000 #define PHY_LED2_ODR 0X50007014 #define PHY_LED2_RCC 0X50000A28#def…...

TypeScript最新语法总结

注意注意!!!本文介绍的是最新的TypeScript4的重要语法 第一部分:TypeScript的简介 TypeScript 是由微软开发的一款开源的编程语言,TypeScript 是 Javascript 的超集,遵循最新的 ES6、ES5 规范&#xff0c…...

sentinel组件

目录 定义 4.加SentinelResource,blockHander是超过阈值之后执行的函数 5.设置阈值 6.springboot集成sentinel 定义 1.sentinel知道当前流量大小,在浏览器和后端之间加sentinel控制流量,避免大批量的瞬时请求都达到服务上,将服务压垮 2.…...

26 MFC序列化函数

文章目录 Serialize对于存储文件的序列化 Serialize Serialize 是一个在 MFC (Microsoft Foundation Classes) 中常用的函数或概念。它用于将对象的数据进行序列化和反序列化,便于在不同的场景中保存、传输和恢复对象的状态。 在 MFC 中,Serialize 函数…...

GC 深入(小白,对gc有一个进一步的了解)

垃圾回收器的搭配 一般固定 一般这年轻代垃圾回收器,老年代垃圾回收器,如上图搭配着使用 1.8呢默认就是最后边那哥俩 jvm调优 一个就是增加吞吐量 一个就是减少STW的时间。 三色标记算法(理解根可达算法) 并发的可达性分析 有…...

CSS前端面试

文章目录 rem、em、vh、px各自代表的含义?盒模型poison 定位属性flex属性让元素水平垂直居中页面适配的方法有哪些 rem、em、vh、px各自代表的含义? px:绝对单位,页面按精确像素展示 em:相对单位,基准点为…...

VB+SQL餐饮管理系统设计与实现

第一章 前言 1.1 绪论 当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不开的自行车、汽车一样。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着…...

React入门学习笔记2

jsx语法规则 定义虚拟DOM时,不要写引号。标签中混入JS表达式时要用{ }。样式的类名指定不要用class,要用className。内联样式,要用style{{key:value}}的形式去写。只有一个根标签标签必须闭合标签首字母 )若小写字母开头&#xf…...

Palo Alto Networks® PA-220R 下一代防火墙 确保恶劣工况下的网络安全

一、主要安全功能 1、每时每刻在各端口对全部应用进行分类 • 将 App-ID 用于工业协议和应用,例如 Modbus、 DNP3、IEC 60870-5-104、Siemens S7、OSIsoft PI 等。 • 不论采用何种端口、SSL/SSH 加密或者其他规避技术,都会识别应用。 • 使用…...

架构训练营学习笔记:5-2 负载均衡架构

多级负载架构 设计关键点 性能需求、维护复杂度之间做取舍。 一可以去掉F5、LVS : F5 是成本较高,LVS 是复杂,对于性能没那么高需求,可以去掉。 二 去掉ng: 服务网关服务 适应于初创公司快速验证,内部的 小系统…...

二叉树的性质、前中后序遍历【详细】

1. 树概念2.二叉树的概念1.2二叉树的性质 3.二叉树遍历3.2前序遍历3.2 中序遍历3.3 后序遍历 1. 树概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合,有二叉树,N叉树等等。 子树…...

涨姿势了,有意思的气泡 Loading 效果

今日,群友提问,如何实现这么一个 Loading 效果: 这个确实有点意思,但是这是 CSS 能够完成的? 没错,这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现&#xff0…...

单片机中断系统

单片机中断系统 中断的概念: CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事…...

二、JVM-深入运行时数据区

深入运行时数据区 计算机体系结构 JVM的设计实际上遵循了遵循冯诺依曼计算机结构 CPU与内存交互图: 硬件一致性协议: MSI、MESI、MOSI、Synapse、Firely、DragonProtocol 摩尔定律 摩尔定律是由英特尔(Intel)创始人之一戈登摩尔(Gordon Moore)提出来…...

随机验证码vue实现,登录验证码随机验证码数字和字母类型的

1、组件 <!--loginCode登录验证码组件--> <template> <canvas id"canvasCode" :width"contentWidth" :height"contentHeight" /> </template> <script> export default { name: LoginCode, props: { identif…...

xlrd与xlwt操作Excel文件详解

Python操作Excel的模块有很多&#xff0c;并且各有优劣&#xff0c;不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况&#xff1a; .xls.xlsx获取文件内容写入数据修改文件内容保存样式调整插入图片xlrd√√√xlwt√√√√√xlutils√√√√xlwings√√√√√…...

A Survey of Embodied AI: From Simulators to Research Tasks 论文阅读

论文信息&#xff1a; 题目&#xff1a;A Survey of Embodied AI: From Simulators to Research Tasks 作者&#xff1a;Jiafei Duan, Samson Yu 来源&#xff1a;arXiv 时间&#xff1a;2022 Abstract 通过评估当前的九个具体人工智能模拟器与我们提出的七个功能&#xff0…...

spark-sql数据重复之File Output Committer问题

前言 我们先来回顾下之前介绍过的三种Committer&#xff1a;FileOutputCommitter V1、FileOutputCommitter V2、S3A Committer&#xff0c;其基本代表了整体的演进趋势。 核心代码讲解详细参照&#xff1a;Spark CommitCoordinator 保证数据一致性 OutputCommitter commitTask…...

面试热题(前中序遍历构建树)

给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 题目中是给定两个数组&#xff0c;一个是存放这颗树的前序遍历的数组&#xff0c;一个是存放这棵树的…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...