java日期处理一(Calendar,Date)

来源:互联网 发布:linux怎么c语言编程 编辑:程序博客网 时间:2024/05/18 03:25

        虽然我们当我们使用日期时经常会想到使用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就行了。