文章目录
1.获取当前系统时间
1.1 怎么获取当前时间?
-------在java.utli.Data类里面有相关的操作
Date nowTime=new Date();
直接输出这个nowTiem Date里面的toString方法会直接输出当前系统时间
结果:Sat Sep 03 08:24:05 CST 2022
1.2格式化时间
显然:
-----这种输出的方式不适合我们的读取.
-----有没有一中方式可以转化为我们一定格式的方法
java.text.SimpleDateFormat 这个类可以专门进行格式化
----------------------------------------------------我们常用的时间日期标签-----------------------------------
* yyyy :年份
* MM :月份
* dd:日
* mm:分
* ss:秒
* SSS:毫秒
------------------------------------------------------所有的格式日期--------------------
字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800
这些标签怎么用呢?
1.3日期标签的用法
我们用一个字符串来接受这个日期的时间,同时。format方法里面需要填写上nowTime这个参数
nowTime这个参数时我们堆Date类创建的对象,这里我们用SimpleDateFormat类对其格式化我们
需要的格式,来输出,用的是一个字符串来接收这个日期。我们输出的是系统的当前时间
.
如年是4位数的就写yyyy .
.
.
例子:------------------------------------------------------------------------------
SimpleDateFormat date1 =new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Date nowTime=new Date();
String nowTime1=date1.format(nowTime);
System.out.println(nowTime1);
.
.
结果:2021年05月18日14时41分06秒
1.4 把一个字符串的日期类型转化为Data日期类型
我们还有一个方式可以把固定格式的日期字符串转换为一个Date 类型的数据
仍然我们需要SimpleDateFormat 类的参与 需要以恶parse();方法
但是这里需要异常的处理,需要在main(String[] args)throws Exception 用上异常
转化的时候需要日期的格式相互照应,否则就会出现解析异常
String time="2022-09-03 08:23:65 521";
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
Date date=dateFormat.parse(time);
System.out.println(date);
结果:Sat Sep 03 08:24:05 CST 2022 不出现毫秒是Date 的toString方法的问题,但是格式一定要照应
1.5 对程序执行时间的计算
我们可以对程序执行的时常进行一个统计,System.currentTimeMillis();获取
一个从1970年1月1日到现在的毫秒时常。我们一般用long类型的表示
long beginTime =System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
}
long endTime=System.currentTimeMillis();
System.out.println(beginTime-endTime);
1.6 Date的另一个构造方法
学完这个。我们可以学另一个Date的构造方法,
这里Date 的参数是1970年1月1日00时:00分00秒 000毫秒往后的时间
由于所基于的标准时间是格林威治的时间, 北京是东8时区所以要加8个小时
结果是一定是 多了八个小时零100毫秒
Date date2 =new Date(100);
String s1=dateFormat.format(date2);
System.out.println(s1);
结果:1970-01-01 08:00:00 100
1.7 获取昨天此时的时间
获取昨天的此时的时间
long dayTime=System.currentTimeMillis();
long yesteday =System.currentTimeMillis()-1000*60*60*24;
Date date3=new Date(yesteday);
String ss1=date1.format(date3);
System.out.println(ss1);