Java基础:JDK7-时间Date
JDK7以前时间相关类

1.Date

Date date = new Date(); , sout(date)得到的是现在所处位置的时间
Date date = new Date(0L); , sout(date)得到的是时间原点也就是1970年1月1日08:00(东八区).
date.setTime(1000L); sout(date)得到的是时间原点后一秒钟的时间
long time = date.getTime(); sout(date)得到的是date所处时间距离时间原点的毫秒数.
1.1总结

2.SimpleDateFormat
2.1作用

2.2构造方法和成员方法

 
// 此时此刻的时间Date date = new Date();// 时间原点的时间Date date1 = new Date(0L);System.out.println(date);// Wed Mar 01 10:48:59 CST 2023// 时间原点之后1秒的时间date.setTime(1000L);System.out.println(date);// Thu Jan 01 08:00:01 CST 1970// 获取date的时间距离原点时间的毫秒值long time = date.getTime();System.out.println(time);// 1000// 需求一:时间原点一年后的时间date.setTime(365 * 24 * 60 * 60 * 1000L);System.out.println(date);// Fri Jan 01 08:00:00 CST 1971// 需求二:比较两个Date对象哪个在前哪个在后Date date2 = new Date(100L);Date date3 = new Date(1000L);long time2 = date2.getTime();long time3 = date3.getTime();long max = Math.max(time2, time3);System.out.println(max);// simpledateformat// 空参构造是默认格式SimpleDateFormat sdf = new SimpleDateFormat();// 格式化(需要Date对象, 输出默认格式的时间字符串)Date date4 = new Date(1000000000000L);String format = sdf.format(date4);System.out.println(format);// 2001/9/9 上午9:46// 有参构造(设置格式Pattern)SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM/dd  HH/mm-ss EE");// 格式化(需要Date对象, 输出默认格式的时间字符串)Date date5 = new Date(2000000000000L);String format2 = sdf2.format(date5);System.out.println(format2);// 2033-05/18  11/33-20 周三// 解析(字符串->Date对象)// 生成要解析的字符串String datetest = "2023-5-20  13:14";// 生成SDF, 必须要和上面的字符串格式对应SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-M-dd  HH:mm");// 调用解析方法, 输入要解析的字符串, 返回Date对象Date parse = sdf3.parse(datetest);long time1 = parse.getTime();System.out.println(time1);// 1684559640000 
2.3练习1

// practice1String birthday = "2000-11-11";SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd");Date parse1 = sdf4.parse(birthday);SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy年MM月dd日");String format1 = sdf5.format(parse1);System.out.println(format1); 
2.4练习2

// practice2// start timeString starttime = "2023-11-11  00:00:00";String endtime = "2023-11-11  00:10:00";String xiaojia = "2023-11-11  00:01:00";String xiaopi = "2023-11-11  00:11:00";SimpleDateFormat sdf6 = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");Date startdate = sdf6.parse(starttime);Date enddate = sdf6.parse(endtime);Date xiaojiadate = sdf6.parse(xiaojia);Date xiaopidate = sdf6.parse(xiaopi);long startdateTime = startdate.getTime();long enddateTime = enddate.getTime();long xiaojiadateTime = xiaojiadate.getTime();long xiaopidateTime = xiaopidate.getTime();extracted(startdateTime, enddateTime, xiaojiadateTime);extracted(startdateTime, enddateTime, xiaopidateTime); 
提取的方法, 用来判断是否参加上
private static void extracted(long startdateTime, long enddateTime, long Time) {if (Time >= startdateTime && Time <= enddateTime){System.out.println("参加上了");}else {System.out.println("没参加上");}} 
3.calendar
3.1获得calendar类
由于calendar是抽象类, 所以不能够直接创建对象, 需要通过getInstance方法来获得.
获取到的calendar对象会根据系统的不同时区来获取不同的日历对象,默认表示当前时间。
 会把时间中的纪元,年,月,日,时,分,秒,星期,等等的都放到一个数组当中.
月份:范围0~11如果获取出来的是0.那么实际上是1月。
星期:在老外的眼里,星期日是一周中的第一天
 1(星期日)2(星期一)3(星期二)―4(星期三)―5(星期四)6(星期五)―7(星期六)
Calendar中数组的索引对应的内容是 :
0 : 纪元
1 : 年
2 : 月
3 : 一年中的第几周
4 : 一个月中的第几周
5 : 一个月中的第几天(日期)

3.2常用方法

使用get方法时, 输入Calendar数组中的索引值(在Calendar类中定义为了常量)
注意 : 获得的int要转化成我们自己的时间(星期和月份)
// calendarCalendar calendar = Calendar.getInstance();System.out.println(calendar);// java.util.GregorianCalendar[time=1677654807019,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2023,MONTH=2,WEEK_OF_YEAR=9,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,DAY_OF_YEAR=60,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=13,SECOND=27,MILLISECOND=19,ZONE_OFFSET=28800000,DST_OFFSET=0]// get Date calendarDate time4 = calendar.getTime();System.out.println(time4);// Wed Mar 01 15:10:54 CST 2023// set Date to CalendarDate date6 = new Date(5201314);calendar.setTime(date6);System.out.println(calendar);// getint year = calendar.get(Calendar.YEAR);int mouth = calendar.get(Calendar.MONTH) + 1;int day = calendar.get(Calendar.DAY_OF_MONTH);int week = calendar.get(Calendar.DAY_OF_WEEK);System.out.println(year + "-" + mouth + "-" + day + getweek(week));// modify year, mouth, day... of calendarcalendar.set(Calendar.YEAR, 1999);calendar.set(Calendar.MONTH, 10);calendar.set(Calendar.DAY_OF_MONTH, 31);System.out.println(calendar);// add year, mouth, day... of calendarcalendar.add(Calendar.YEAR, 2);calendar.add(Calendar.MONTH, 1);calendar.add(Calendar.DAY_OF_MONTH, -10);System.out.println(calendar); 
获得符合我们的星期getweek()方法
private static String getweek(int index){String[] week = {"", "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};return week[index];}相关文章:
Java基础:JDK7-时间Date
JDK7以前时间相关类 1.Date Date date new Date(); , sout(date)得到的是现在所处位置的时间 Date date new Date(0L); , sout(date)得到的是时间原点也就是1970年1月1日08:00(东八区). date.setTime(1000L); sout(date)得到的是时间原点后一秒钟的时间 long time date.g…...
什么是IP地址?
IP协议中还有一个非常重要的内容,那就是给因特网上的每台计算机和其它设备都规定了一种地址,叫做“IP 地址”。由于有这种地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。…...
4年经验之谈,什么是接口测试?怎样做接口测试?
一、什么是接口?【文末学习资源分享】赶紧嫖!冲!!!! 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过…...
普通指针扫盲
一、什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址。 CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位。这里,数据对象是指存储在内存 中的一个指定数据…...
深度学习笔记:神经网络权重确定初始值方法
神经网络权重不可为相同的值,比如都为0,因为如果这样网络正向传播输出和反向传播结果对于各权重都完全一样,导致设置多个权重和设一个权重毫无区别。我们需要使用随机数作为网络权重 实验程序 在以下实验中,我们使用5层神经网络…...
关于 python 的异常使用说明 (python 的文件和异常)
文章目录异常1. 处理异常 ZeroDivisionError 异常2. 使用 try-except 代码块3. 使用异常避免崩溃4. else 代码块5. 处理 FileNotFoundError 异常6. 分析文本7. 失败时一声不吭异常 pyhong 使用被异常成为异常的特殊对象来管理程序执行期间发生的错误。 每当发生让 python 不知所…...
Spark RDD持久化
RDD Cache缓存 RDD通过Cache或者Persist方法将前面的计算结果缓存,默认情况下会把数据以序列化的形式缓存在JVM的堆内存中。但是并不是这两个方法被调用时立即缓存,而是触发后面的action时,该RDD将会被缓存在计算节点的内存中,并供…...
【Linux】Linux系统安装Python3和pip3
1.说明 一般来说Linux会自带Python环境,可能是Python3或者Python2,可能有pip也可能没有pip,所以有时候需要自己安装指定的Python版本。Linux系统下的安装方式都大同小异,基本上都是下载安装包然后编译一下,再创建好软…...
用java进行base64加密
首先定义一组密钥,加密和解密使用同一组密钥private final String key "hahahahahaha";也可以随机生成密钥/*** 生成随机密钥* param keySize 密钥大小推荐128 256* return* throws NoSuchAlgorithmException*/public static String generateSecret(int keySize) th…...
torch函数合集
torch.tensor() 原型:torch.tensor(data, dtypeNone, deviceNone, requires_gradFalse) 功能:其中data可以是:list,tuple,NumPy,ndarray等其他类型,torch.tensor会从data中的数据部分做拷贝(而不是直接引用),根据原始数据类型生成相应类型的torch.Tenso…...
AcWing算法提高课-3.1.2信使
宣传一下算法提高课整理 <— CSDN个人主页:更好的阅读体验 <— 题目传送门点这里 题目描述 战争时期,前线有 nnn 个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。 信使负责在哨所之间传递信息,当然,…...
Paddle OCR Win 11下的安装和简单使用教程
Paddle OCR Win 11下的安装和简单使用教程 对于中文的识别,可以考虑直接使用Paddle OCR,识别准确率和部署都相对比较方便。 环境搭建 目前PaddlePaddle 发布到v2.4,先下载paddlepaddle,再下载paddleocr。根据自己设备操作系统进…...
杂谈:数组index问题和对象key问题
面试题一: var arr [1, 2, 3, 4] 问:arr[1] ?; arr[1] ?答:arr[1] 2; arr[1] 2 这里可以再分为两个问题: 1、数组赋值 var arr [1, 2, 3, 4]arr[1] 10; // 数字场景 arr[10] 1; // 字符串场景 arr[a] 1; // 字符串…...
三天Golang快速入门—Slice切片
三天Golang快速入门—Slice切片Slice切片切片原理切片遍历append函数操作切片append添加append追加多个切片中删除元素切片合并string和slice的联系Slice切片 切片原理 由三个部分构成,指针、长度、容量指针:指向slice第一个元素对应的数组元素的地址长…...
腾讯会议演示者视图/演讲者视图
前言 使用腾讯会议共享PPT时,腾讯会议支持共享用户使用演示者视图/演讲者视图,而会议其他成员可以看到正常的放映视图。下面以Win10系统和Office为例,介绍使用步骤。值得一提的是,该方法同时适用于单显示屏和多显示屏。 腾讯会议…...
【C++】类与对象(一)
文章目录1、面向过程和面向对象初步认识2、类的引入3、类的定义4、类的访问限定符5、类的作用域6、类的实例化7、计算类对象的大小8、this指针9、 C语言和C实现Stack的对比1、面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题…...
JavaScript基本语法
本文提到的绝大多数语法都是与Java不同的语法,相同的就不会赘述了.JavaScript的三种引入方式内部js<body><script>alert(hello);</script> </body>行内js<body><div onclick"alert(hello)">这是一个div 点击一下试试</div>…...
OpenCV4.x图像处理实例-道路车辆检测(基于背景消减法)
通过背景消减进行道路车辆检测 文章目录 通过背景消减进行道路车辆检测1、车辆检测思路介绍2、BackgroundSubtractorMOG23、车辆检测实现在本文中,将介绍如何使用简单但有效的背景-前景减法方法执行车辆检测等任务。本文将使用 OpenCV 中使用背景-前景减法和轮廓检测,以及如何…...
pwnlab通关流程
pwnlab通关 关于文件包含,环境变量劫持的一个靶场 信息收集 靶机ip:192.168.112.133 开放端口 根据开放的端口信息决定从80web端口入手 目录信息 在images和upload路径存在目录遍历,config.php被渲染无法查看,upload.php需…...
面向过程与面向对象的区别与联系
目录 什么是面向过程 什么是面向对象 区别 各自的优缺点 什么是面向过程 面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。 什么是面向对…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
