java日期处理一(Calendar、Date)

虽然我们当我们使用日期时经常会想到使用Date类来表示,但是仔细查看Date类的方法,发现很多都已过时了,当我们想拿到或设置Date的年月日时分秒,那怎么办呢?

所以Java提供了另一功能更加强大的Calendar,我们使用Calendar就可以了。比如Date nowDate = new Date();可以用Calendar now = Calendar.getInstance();这样子可以拿到一个当前时间的Calendar对象(当然可以再用now.setTime(nowDate)来用某个Date指定这个Calendar时间),调用now.getTime()就可以拿到Date对象,调用now.getTimeInMills()可以拿到long类型的毫秒数,调用now.get(Calendar.YEAR)、now.get(Calendar.DAY_OF_MONTH)等就可以拿到年月日时分秒,Calendar.YEAR,Calendar.MONTH就是field字段,设置时间的时候就可以用now.set(field,value)来设定,当然也可以用封装好的now.set(year,month,day)来设置。

当我们需要对Date、Calendar、Timestamp做格式化的时候就可以用SimpleDateFormat sdf = new SimpleDateFormat("yyyy年-MM月-dd日-E hh:mm:ss");然后sdf.format(Date),sdf.format(Calendar.getTime()),sdf.format(Timestamp),这样就能按效果格式化时间格式了。

两个Date类型的比较可以用Date.after()与Date.before()或Date.compareTo()来比较时间先后。

总结:拿到Date年月日时分秒应该用这个Date来构造一个Calendar对象然后再来拿,至于格式化就用sdf就行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值