如果我有一个date对象,我想利用这个date对象得到一个calendar对象,
我现在的写法是
Calendar cal = Calendar.getInstance();
cal.setTime(date);
但是我感觉这么做有点麻烦,这样是先得到了一个代表当前时间的calendar对象,然后又把这个对象表示的time设置成了
date对象所表示的time。 感觉像是绕了一个弯子。
想问问大家有什么别的更好的办法吗??顺便再问一下,为什么jdk Date类里面的大多数方法都是不推荐使用的。
听同事说jdk正在一步一步废除Date类,要用calendar来取代它。是这样吗? 如果是这样的话,那以后编程是不是就应该
尽量少使用Date类了。

解决方案 »

  1.   

    1:这样转我认为已经是最简单的了。
    2:Date是正在被Calendar取代。以后尽量少用Date吧
      

  2.   

    Calendar对时间进行操作的方法挺好的
      

  3.   

    在jdk1.1之前日期的计算和表示都在Date类中,包含java.util.Date和java.sql.Date,但是它的展示方式被限定死,不够 灵活所以在jdk1.1之后将Date计算和展示分离,Calendar用于日期计算,DateFormat用于显示格式指定,原来Date类中的相应方法转移到这两个类中而建议不再使用,复杂的闰年计算等都能由Calendar类完成,所以还是尽量多使用Calendar。
      

  4.   

    如果 JSR 310 -- Date and Time API 能被纳入到 JDK 7 中,会给 Java 增加强大的日期和时间处理功能。
      

  5.   

    3楼讲的很正确,java.util.date现在已经不推荐使用了,以后还是少用的比较好
      

  6.   

    是呀,Date的日子要过去了,呵呵,现在什么都趋于国际化,Date对于国际化的支持查了点,比如时区,所以现在Calendar地位正在一步步的上升,他更严禁更全面更偏向于国际化。
    当然做国内的项目的话还是可以用Date的,这所以保留他而不废除它还是有他的道理的,存在即为合理
      

  7.   

    你说的没错,毕竟感觉上Date要简单,直接一点。因为一个很明显的例子就是:当你看到一个Calendar的对象时,你总想着把他set到Date的对象中去。但是一个很明显的问题就是Data的操作不灵活,还有就是Date不利于Java的时间操作国际化。如果真像5#果子说的那样,两个类的优势都集中在一个类的话,会更方便的,更强大的。
      

  8.   

    隐隐约约想起以前看过java核心技术上说了一样这样设计的原因,大概是这样:
    Date表示日期时间,而Calendar表示是“日历”也就是时间的表示方法(比方说:公历、农历)。同一个时间点相对不同的“历法”而言,表示结果肯定是不同的。
    这样设计本身是合理,不过通常的使用就不太方便,你可以自己封装一下就可以了
      

  9.   

    我 以前也是用new date()
    但是我现在发现都用Calendar的了,所以就仔细看 了些,就是jdk1.1之后date的大部分方法都被Calendar代替了,所以在eclipse中,date.getDate()是被画上线了,大部分观点是说支持国际化的原因。俺现在对国际化这个还不是很了解,但是现在写代码,只要有取得系统时间的,都用Calendar写就是了。都很简单。
      

  10.   

    Date在实际中用的的确是不是太多,Calender类正在取代。
      

  11.   

    Date是要逐渐消失的,所以不被推荐使用,便于以后维护
      

  12.   

    Date是会被取消的,而且也有大部分方法都过期了,建议还是别用