JAVA——时间类
1.java键盘录入2.JAVA运算符详解3.流程控制语句 ——if语句4.JAVA中switch语句格式5.JAVA中的for循环和while循环详解6.JAVA随机数的使用7.JAVA中的内存分配8.JAVA方法详解9.JAVA中的数组详解10.JAVA中字符串的常用方法11.JAVA中的两个容器StringBuilder和StringJoiner概述12.JAVA中ArrayList集合详解13.JAVA中的static关键字14.JAVA——继承详解15.JAVA 多态详解16.JAVA 多态详解17.Java中的包18.Java中的final,权限修饰符与抽象类19.JAVA中的接口详解20.JAVA的内部类21.java中的常用类及常用方法22.正则表达式23.Java中的爬虫
24.JAVA——时间类
25.JAVA——包装类及Integer的成员方法26.算法总结27.Arrays ——操作数组的工具类28.Lambda表达式29.集合体系结构30.JAVA之树的详解31.Set系列集合32.java——双列集合33.stream流的思想34.JAVA入门——方法引用35.JAVA——异常36.File --JAVA世界标准时间
-
格林尼治时间 简称GMT
-
目前世界标准时间已替换为:原子钟
中国标准时间:世界标准时间+8小时
时间单位换算
1秒=1000毫秒
1毫秒=1000微秒
1微秒=1000纳秒
如何创建对象?
Date date=new Date();
Date date =new Date(指定毫秒值);
如何修改时间对象的毫秒值?
setTime(毫秒值);
获取时间对象的毫秒值
getTime();
simpleDateFormat类
作用:
格式化:把时间变成我们喜欢的格式
解析:把字符串表示的时间变成Date对象
常用方法 | 说明 |
---|---|
public final String format(Date dete) | 格式化(日期对象—>字符串) |
public Date parse(String source) | 解析(字符串—>日期对象) |
Y——年
M——月
d——日
H——时
m——分
s——秒
例:2023-11-11 13:27:06 ---->yyyy-MM-dd HH:mm:ss
Calendar
代表系统当前时间的日历对象 可以单独修改,获取时间中的日历对象
细节:Calendar是一个抽象类,不能直接创建对象
public static Calendar getlnstance()获取当前时间的日历对象
方法名 | 说明 |
---|---|
public final Date getTime() | 获取日期对象 |
pubilc final setTime(Date date) | 给日历设置日期对象 |
public long getTimeInMillis() | 拿到时间毫秒值 |
public void setTimeInMillis(long millis) | 给日历设置时间毫秒值 |
public int get(int field) | 取日历中的某个字段信息 |
public void set(int field,int value) | 修改日历的某个字段信息 |
public void add(int field,int amount) | 为某个字段增加或减少指定的值(正数是增加,负数是减少) |
细节: 月份:范围0~11,如果获取出来是0,那实际上是1月
星期:在老外眼里,星期日是一周的第一天。1(星期日) 2(星期一) 3(星期二)以此类推
JDK8新增的时间类
zoneld时区
方法名 | 说明 |
---|---|
static set< String > getAvvailablezoneIds() | 获取java中支持的所有时区 |
static ZoneId systemDefault() | 获取系统默认时区 |
static ZoneId of(String zoneId) | 获取一个指定时区 |
Instant时间戳
方法名 | 说明 |
---|---|
static Instant now() | 获取当前时间的Instant对象(标准时间) |
static Instant ofEpochSecond(long epochSecond) | 根据秒获取对象 |
static Instant ofEpochMilli(long epochMilli) | 根据毫秒获取Instant对象 |
static Instant ofEpochSecond(long epochSecond,long nanoAdjustment) | 根据秒和纳秒获取Instant对象 |
zonedDateTime atzone(zoneId zone) | 指定时区 |
boolean isBefore(Instant otherInstant) | 判断调用者代表的时间是否在参数表示的时间后面 |
boolean isAfter(Instant otherInstant) | 跟上面相反 |
Instant minusSeconds(long secondsToSubtract) | 减少秒的方法 |
Instant minusMillis(long millisToSubtract) | 减少毫秒的方法 |
Instant minusNanos(long nanosToSubtract) | 减少纳秒的方法 |
Instant plusXxxx(......) | 增加时间系列的方法 同上 |
zoneDateTime带时区的时间
方法名 | 说明 |
---|---|
static zonedDateTime now() | 获取当前时间的ZonedDateTime对象 |
static zonedDateTime ofXxxx() | 获取指定时间的zonedDateTime对象 |
zonedDateTime withXxx(时间) | 修改时间系列的方法 |
zonedDateTime minusXxx(时间) | 减少时间系列的方法 |
zonedDateTime plusXxx(时间) | 增加时间系列的方法 |
JDK8新增的时间对象都是不可变的,如果修改了时间,调用者不会发生改变,产生一个新的时间
Calendar日历类
JDK8以后月份是正常的1-12月
LocalDate年 月 日
LocalTime 时 分 秒
LocalDateTime 年 月 日 时 分 秒
方法名 | 说明 |
---|---|
static xxx now() | 获取当前时间的对象 |
static xxx of(...) | 获取指定时间的对象 |
get开头方法 | 获取日历中的年月日时分秒等信息 |
isBefore,isAfter | 比较两个LocalDate |
with开头 | 修改时间 |
minus | 减少时间 |
plus开头 | 增加时间 |
public LocalDate toLocalDate() | LocalDateTime转换成LocalDate对象 |
.isLeapYear | 判断是否为闰年 |
工具类
Duration 用于计算两个时间间隔(秒,纳秒)
period 用于计算两个日期间隔(年 月 日)
chronoUnit 用于计算两个日期间隔
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?