初学Java-对日期的各种操作

  • “种一棵树最好的时间是十年前,其次是现在。” 

🎈本篇导语:

作为我在csdn上的第一篇知识分享性博客,想啰嗦几句。首先本人是大一在读也是接触计科不久,想借此平台作为自己每日学习的总结分享。所以若有什么错误欢迎大家指点,我们一起交流,相互进步。由于是第一次写,所以对于排版或者行文思路尚且还未能把握好,请大家多多包容✔️

🚀一、怎么获取系统当前时间

🚀二、怎么将时间格式进行转换:Date --> String  String --> Date

🚀三、获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数并统计方法耗时

1.怎么获取系统当前时间

在Java中对于日期有几种操作。首先是能够获取系统当前的时间(精确到毫秒)

sun公司为我们准备好了日期类,首先我们应该了解第一个日期类为:

java.util.Date

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARWFzdC1zdW5yaXNl,size_13,color_FFFFFF,t_70,g_se,x_16

输出结果:

6d4d7487cd1a402eb32befdfa7044ea5.png

java.util.Date类中已经为我们准备好了能够直接获取系统当前时间的无参数构造方法:Date( )

我们只需直接调用即可。而java.util.Date类中的toString()方法已经被重写了。输出的不是一个对象的内存地址而是一个日期字符串。

但是当我们看到输出结果的时候会发现,这可能不是我们中国人习惯的日期表达方式。那我们可以想一想:日期可以格式化吗?

2.怎么将日期类型Date按照指定的格式进行转换?

预期目标:Date -- 转换成具有一定格式的日期字符串 --> String

这时我们应了解Java日期操作中的另外一个类:

SimpleDateFormat

此类是java.test包下的,专门负责日期格式化。

在此需要注意的是,虽然能够将日期格式化成更易于读取的形式,但是转换的格式也有一些限制

yyyy   --年(年有4位)

MM    --月(月有2位)

dd      --日

HH     --时

mm    --分

ss       --秒

SS      --毫秒(毫秒有3位,最高是999。1000毫秒等于1秒)

注意:在日期格式中,除了y M d H m s S 这些字符不能随便写以外,剩下的符号格式自己随意组织。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARWFzdC1zdW5yaXNl,size_20,color_FFFFFF,t_70,g_se,x_16 输出结果:

d1213483592f41319955b329315cf21b.png

输出结果的样式可通过我们new SimpleDateFormat对象时传入的字符串中自己规定

而调用对象中自带的format( )方法时,传入我们最开始通过无参数构造方法:Date()获取的系统时间即可格式化时间样式。

 3.怎么将日期字符串转换为Date类型

预期目标:String(日期字符串) -- 转换成默认Date形式的日期 --> Date

这时我们应了解SimpleDateFormat 对象中的一个方法:

parse( );

实参为一个日期字符串

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARWFzdC1zdW5yaXNl,size_20,color_FFFFFF,t_70,g_se,x_16

输出结果 :

7acca09ff55c48a9b2b86d4d111ae718.png

注意:字符串的日期格式和SimpleDateFormat对象指定的日期格式要一致,否则会报错。

4.获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数

实现此效果我们只需调用System类中的一个静态方法currentTimeMills( ) 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARWFzdC1zdW5yaXNl,size_15,color_FFFFFF,t_70,g_se,x_16

输出结果:

bac64542508f40318d5de28074659591.png

👻会不会觉得这操作有点鸡肋??那就大漏特漏啊!运用此功能能做到:统计一个方法的耗时

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARWFzdC1zdW5yaXNl,size_14,color_FFFFFF,t_70,g_se,x_16

在此处我们随便定义一个方法,然后在调用目标方法之前记录一个毫秒数,在执行完目标方法之后再记录一个毫秒数。然后我们把他们相减不就能得出我们定义的方法执行所耗费的时长了吗?此方法能够当我们的代码耗时太长时去检验每个方法的耗时从而去优化。

输出结果:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARWFzdC1zdW5yaXNl,size_3,color_FFFFFF,t_70,g_se,x_16

 🎈今天的分享就到此结束了

“纸上得来终觉浅,绝知此事要躬行。”

欢迎大家一起交流一起成长!Fightin!

 

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KGoDY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值