Java 06API时间类

发布于:2025-05-21 ⋅ 阅读:(19) ⋅ 点赞:(0)

API-时间类

Date

jdk8之前
1.构造
代表当前的日期和时间
1.Date d1=new Date();当前的时间编译成对象
2.Date d2=new Date(long time);时间毫秒值代表的Date日期对象
long 类型需要在写L 及8L
2.常用方法
public long getTime();获取从1970-1-1到现在的毫秒值总数
void setTime();设置时间对象

SimpleDateFormat

使用加构造

在这里插入图片描述

实际上,他如果是空参构造就是他的默认的格式
但是需要一个Date对象来获取当前的时间;
再调用format方法就可以实现实例化了

自定义的时候,yyyy代表年,MM代表月 dd代表日, HH小时 mm分钟 ss秒

在这里插入图片描述

需要先定义模式,在传入数据才可以

Calendar

代表的是系统此刻时间对应的日历,通过他可以单独获取、修改时间中的年月日时分秒等
抽象类
1。获取当前日期的对象
Calendar c=Calendar.getInstance();
注意的是他的月份是0-11进行的
2.get()
获取指定字段的信息
int i=c.get(int x);
x=1 -- 获取年份2-月,3-日
但是不建议写数字,建议写常量
年
int x=c.get(Calendar.YEAR);
月
月份需要进行+1处理
int x=c.get(Calendar.MONTH);
日
int x=c.get(Calendar.DAY);
//星期:每周的第一天是星期日
// 1日 2一 3二 4三 5四 6五 7六
int x=c.get(Calendar.DAY_OF_WEEK);
//获取一年中的第多少天
int x=c.get(Calendar.DAY_OF_YEAR);
3.set
void set(int field,int value);//修改;
例如:
c.set(Calender.YEAR,2022);
4.add
增加/减少某个值
void add(int field,int value);//跟上面那个差不多
5.小使用

在这里插入图片描述

在这里插入图片描述

LocalDateTime

不可以改变,修改完之后返回的是一个新的对象
1。创建
//现在的时间
LocalDateTime now = LocalDateTime.now();
//获取指定时间
LocalDateTime now2 = LocalDateTime.of(2020,2,2,10,20,1);

在这里插入图片描述
)

2.获取
now.getXXXX();即可
注意一点
getMonth();返回的是英文
getMonthValue();返回的阿拉伯数字

在这里插入图片描述

getValue();可以将英文转化为中文
3.修改/
返回的是新的对象,之前的对象并不会改变

在这里插入图片描述

实际上就是对象now.withHour(多少的内容)

DateTimeFormatter

日期类格式化
使用
Scanner sc = new Scanner(System.in);
LocalDateTime now=LocalDateTime.now();
DateTimeFormatter f=DateTimeFormatter.ofPattern("yyyy年M月d日");//写一个即可,既可以解析一位也可以两位
//格式化
String date=now.format(f);
System.out.println(date);
//解析
String s2="2008年10月9日";
LocalDate p=LocalDate.parse(s2,f);
System.out.println(p);

Instant

时间戳
构造
Instant now=Instant.now();
有时差

方法

在这里插入图片描述

ZoneId

均为static
static Set<String>getAvariableZoneIds();
获取java支持的所有的时区
ZoneId systemDefault();//获取系统默认时区

ZoneId of(String zonId);
获取一个指定时区,例如Asia/ShangHai

Period

时间间隔,年月日

在这里插入图片描述

Duration

时分秒

在这里插入图片描述

ChronoUnitDemo

均可以计算

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到