JDK时间

Date

全世界的时间,有一个统一的计算标准。 世界标准时间:格林尼治时间/格林威治时间简称GMT,目前时间标准时间已经替换为:原子钟。 中国标准时间:世界时间+8 时间换算单位: 一秒等于一千毫秒 一毫秒等于一千微秒 一微秒等于一千纳秒 Date类是JDK写好的一个Javabean类,用来描述时间,精确到毫秒。 利用空参构造创建对象,默认是系统当前的时间。利用有参构造创建对象,表示的是指定的时间。 1.如何创建Date对象 Date d1=new Date(); Date d2=new Date(指定毫秒值); 2.如何修改时间对象中的毫秒值 setTime(指定毫秒值); 3.如何获取时间对象中的毫秒值 getTime();

SimpleDateFormat

作用:

1.格式化:把时间变成我们喜欢的格式

2.解析:把字符串表示的时间变成Date对象

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class a01SimpledateFormatedemo01 {public static void main(String[] args) throws ParseException {//1.定义一个字符串表示时间String str="2023-11-11 11:11:11";//细节:创建对象的格式要和字符串的格式完全一致SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = sdf.parse(str);System.out.println(date);}private static void method() {//1.利用空参构造创建SimplaDateFormate对象,默认格式SimpleDateFormat sdf1=new SimpleDateFormat();Date d1=new Date(0L);String str=sdf1.format(d1);System.out.println(str);//2.利用带参构造创建SimplaDateFormate对象,指定格式SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EE");String format = sdf2.format(d1);System.out.println(format);}
}

练习

package MyApi.a09jdkdemo;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class a02SimpleDateFormatedemo02 {public static void main(String[] args) throws ParseException {/** 假设你初恋的出生年月日为:2000-11-11* 请用字符串表示这个数据,并将其转换为:2000年11月11日*/String str="2000-11-11";SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");Date date = sdf1.parse(str);SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");String format = sdf2.format(date);System.out.println(format);}
}
package MyApi.a09jdkdemo;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class a03SimpleDateFormatedemo03 {public static void main(String[] args) throws ParseException {/*需求:* 秒杀活动:2023年11月11日 0:0:0* 开始时间:2023年11月11日 0:10:0* 小贾下单并付款的时间为:2023年11月11日 0:01:00* 小皮下单并付款的时间为:2023年11月11日 0:11:0* 用代码说明这两位同学有没有参加上秒杀活动*///定义字符串表示时间String startStr="2023年11月11日 00:00:00";
String endStr="2023年11月11日 00:10:00";
String orderStr="2023年11月11日 00:01:00";String xpoederStr="2023年11月11日 00:11:00";//解析时间得到Date时间SimpleDateFormat sdf=new SimpleDateFormat("yyy年MM月dd日 HH:mm:ss");Date startdate = sdf.parse(startStr);Date enddate = sdf.parse(endStr);Date orderdate = sdf.parse(orderStr);//获得时间毫秒值long startdateTime = startdate.getTime();long enddateTime = enddate.getTime();long orderdateTime = orderdate.getTime();//判断if(orderdateTime>=startdateTime&&orderdateTime<=enddateTime){System.out.println("参加秒杀活动成功");}else{System.out.println("参加秒杀活动失败");}}
}

calendar

calendar代表了系统当前时间的日历对象,可以单独修改、获取时间中的年、月日。

calendar是一个抽象类,不能直接创建对象

package MyApi.a09jdkdemo;import java.util.Calendar;
import java.util.Date;public class a01calendardemo01 {public static void main(String[] args) {//1.获取日历对象//底层原理://会根据系统的不同时区来获取不同的日历对象,默认表示当前时间//会把时间中的纪元、年月日时分秒星期等都放在一个数组当中//细节2://月份:范围0-11//星期:星期日是一周中的第一天Calendar c = Calendar.getInstance();System.out.println(c);
//2.修改一下日历代表的时间Date d=new Date();c.setTime(d);System.out.println(c);c.set(Calendar.YEAR,2023);c.set(Calendar.MONTH,9);c.set(Calendar.DAY_OF_MONTH,10);//调用方法在这个基础上增加一个月c.add(Calendar.MONTH,-1);int year = c.get(1);int month= c.get(2);int date = c.get(5);int week=c.get(Calendar.DAY_OF_WEEK);System.out.println(year+","+month+","+date+","+getweek(week));}public static String getweek(int index){//定义一个数组,让汉字星期几,跟1-7产生关系String [] arr={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};return  arr[index];}
}

JDK8新增时间相关类

ZoneId时区

package MyApi.a09jdkdemo;import java.time.ZoneId;
import java.util.Set;public class A01Zoneiddemo01 {public static void main(String[] args) {//获取所有时区名称Set<String> zoneIds = ZoneId.getAvailableZoneIds();System.out.println(zoneIds.size());System.out.println(zoneIds);//2.获取当前系统的默认时区ZoneId zoneId = ZoneId.systemDefault();System.out.println(zoneId);//3.获取指定时区ZoneId zoneId1 = ZoneId.of("Asia/Pontianak");System.out.println(zoneId1);}
}

Instant时间戳

package MyApi.a09jdkdemo;import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;public class A01_instantDemo {public static void main(String[] args) {//1.获取当前时间的instant对象(标准时间)Instant now = Instant.now();System.out.println(now);//2.根据(秒/毫秒/纳秒)获取instant对象Instant instant1 = Instant.ofEpochMilli(0L);System.out.println(instant1);Instant instant2 = Instant.ofEpochSecond(1L);System.out.println(instant2);Instant instant = Instant.ofEpochSecond(1l, 100000000L);System.out.println(instant);//3.指定时区ZonedDateTime time = Instant.now().atZone(ZoneId.of("Asia/Shanghai"));System.out.println(time);//4.判断时间的方法Instant instant3 = Instant.ofEpochMilli(0L);Instant instant4 = Instant.ofEpochMilli(1000L);boolean result1 = instant3.isBefore(instant4);System.out.println(result1);//5.减少时间系列的方法Instant instant5 = Instant.ofEpochMilli(3536352L);System.out.println(instant5);Instant instant6 = instant5.minusSeconds(1);System.out.println(instant6);//6.增加时间系列的方法}
}

ZoneDateTime带时区的时间

DateTimeFormattter用于时间格式化和解析

LocalDate LocalTime LocalDateTime

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

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

相关文章

CDC作业历史记录无法删除问题

背景 数据库开启CDC功能后&#xff0c;每天会生成大量的历史记录&#xff0c;即使达到参数“每个作业的最大历史记录“的阈值后也不会被删除&#xff0c;导致其它作业的历史记录被删除&#xff0c;无法查看以前的执行情况&#xff0c;非常不方便。 现象 数据库开启CDC后会创建…

【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实际误码率对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 四相位移键控&#xff08;QPSK&#xff0c;Quadrature Phase Shift Keying&#xff09;是一种重要的数字调制技术&#xff0c;它通过改变信号的相位来传输数据。与其他调制技术相比&#xff0c;QPSK在相同的带宽条件下能够传…

Linux命名管道

Linux匿名管道-CSDN博客 目录 1.原理 2.接口实现 3.模拟日志 Linux匿名管道-CSDN博客 这上面叫的是匿名管道&#xff0c;不要将两者搞混&#xff0c;匿名管道说的是两个有血缘关系的进程相互通信&#xff0c;但是命名管道就是两个没有关系的管道相互通信。 1.原理 和匿名…

高斯扩散过程

高斯扩散过程是一种数学模型&#xff0c;用于描述某些随机现象的时间演化&#xff0c;其中这些现象的概率密度函数&#xff08;PDF&#xff09;符合高斯分布&#xff0c;也称为正态分布。在物理和工程学领域&#xff0c;此类过程通常被用来描述热扩散、粒子扩散、概率密度演变等…

springboot/ssm公司资产网站Java企业资产统计管理系统web

springboot/ssm公司资产网站Java企业资产统计管理系统web 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysq…

蓝桥杯刷题--python-16

562. 壁画 - AcWing题库 T=int(input()) j=1 while(j<=T): N = int(input()) a=input() s = [0]*(N+1) # 求前戳和 for i in range(1, N + 1): s[i] = int(a[i-1]) + s[i - 1] # 枚举 # 区间 max_ = float(-inf) k = (N + 2 - …

编译链接实战(25)ThreadSanitizer检测线程安全

ThreadSanitizer&#xff08;又称为TSan&#xff09;是一个用于C/C的数据竞争检测器。在并发系统中&#xff0c;数据竞争是最常见且最难调试的错误类型之一。当两个线程并发访问同一个变量&#xff0c;并且至少有一个访问是写操作时&#xff0c;就会发生数据竞争。C11标准正式将…

【电路笔记】--RC网络-RC微分器

RC微分器 文章目录 RC微分器1、概述2、RC微分器电路3、单脉冲 RC 微分器4、RC 微分器示例5、总结无源 RC 微分器是一个串联 RC 网络,可产生与微分数学过程相对应的输出信号。 1、概述 无源 RC 微分器只不过是与电阻串联的电容,这是一种与频率相关的器件,其电抗与固定电阻串…

前端实现浏览器打印

浏览器的print方法直接调用会打印当前页面的所有元素&#xff0c;使用iframe可以实现局部打印所需要的模块。 组件printView&#xff0c;将传入的信息放入iframe中&#xff0c;调用浏览器的打印功能 <template><div class"print"><iframeid"if…

马斯克指控OpenAI违背成立协议,要求恢复开源;Automattic否认向AI公司出售用户数据

&#x1f989; AI新闻 &#x1f680; 马斯克指控OpenAI违背成立协议&#xff0c;要求恢复开源 摘要&#xff1a;马斯克近日在旧金山高等法院对OpenAI及其CEO阿尔特曼提起诉讼&#xff0c;指控他们违反最初促进AI技术造福人类非营利方向的成立协议。马斯克声称&#xff0c;Ope…

Linux命令-clear命令(清除当前屏幕终端上的任何信息)

说明 clear命令 用于清除当前屏幕终端上的任何信息。 语法 clear示例 直接输入clear命令当前终端上的任何信息就可被清除。

【JavaSE】时间类相关API以及使用

目录 时间类相关API 1.Date类 2.SimpleDateFormat类 3.Calendar类 4.JDK8-时区&#xff0c;时间和格式化 5.JDK8-日历和工具类 时间类相关API 以下内容是通过观看黑马java的常见API视频总结加笔记&#xff0c;其中有JDK7以及以前的时间类&#xff0c;包括&#xff1a;Date&…

我在代码随想录|写代码Day30 | 贪心算法 | 435. 无重叠区间,763.划分字母区间, 56. 合并区间, 738.单调递增的数字

&#x1f525;博客介绍&#xff1a; 27dCnc &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: <<数据结构与算法>> 专题 : 数据结构帮助小白快速入门算法 &…

[HackMyVM]靶场 VivifyTech

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Unk…

matlab阶段学习小节1

数组排序 fliplr()实现数组倒序&#xff0c;但不对大小进行排序&#xff0c;只是元素位置掉头。 要想实现大小倒序排列&#xff0c;可以先sort()实现正序排列&#xff0c;再用fliplr倒一下 %数组运算 %矩阵 %xAb的解xb/A;(矩阵) %右除运算A/B&#xff0c;左矩阵为被除数&a…

多态——细致讲解

&#x1f536;多态基础概念  &#x1f536;概念   &#x1f531;多态性   &#x1f531;多态——重新(覆盖)  &#x1f536;示例   &#x1f536;基本使用方法   &#x1f536;特例    &#x1f531;协变    &#x1f531;析构函数重写  &#x1f531;多态原理…

`useState` 和 `useImmer` 都是 React 中用于管理状态的钩子

useImmer如何使用&#xff1a; 安装&#xff1a;yarn add use-immer使用&#xff1a; const [data, updateData] useImmer({fields: [], });updateData((draft) > {draft.fields.splice(index, 1, {id:1});});useState 和 useImmer 都是 React 中用于管理状态的钩子&…

redis实战笔记汇总

文章目录 1 NoSQL入门概述1.1 能干嘛&#xff1f;1.2 传统RDBMS VS NOSQL1.3 NoSQL数据库的四大分类1.4 分布式数据库CAP原理 BASE原则1.5 分布式集群简介1.6 淘宝商品信息的存储方案 2 Redis入门概述2.1 是什么&#xff1f;2.2 能干嘛&#xff1f;2.3 怎么玩&#xff1f;核心…

46、WEB攻防——通用漏洞PHP反序列化原生类漏洞绕过公私有属性

文章目录 几种常用的魔术方法1、__destruct()2、__tostring()3、__call()4、__get()5、__set()6、__sleep()7、__wakeup()8、__isset()9、__unset()9、__invoke() 三种变量属性极客2019 PHPphp原生类 几种常用的魔术方法 1、__destruct() 当删除一个对象或对象操作终止时被调…

关于 yarn 的中央仓库 registry.yarnpkg.com

"Yarn" 是一个开源的 JavaScript 包管理工具&#xff0c;用于管理项目中的依赖关系。Yarn 通过一个叫做 "registry" 的中央仓库来存储和检索各种 JavaScript 包。这个中央仓库可以通过 https://registry.yarnpkg.com/ 访问&#xff0c;它是 Yarn 包管理系统…