我正在尝试整合一些非常混乱的代码,但我想确保我不会破坏它。在某些地方,我看到创建的日期为Calendar.getInstance().getTime()
,而在其他地方,我只看到new Date()
。如果我将它们全部转换为new Date()
,或者有什么理由我可能想要使用另一个吗?
答案 0 :(得分:13)
理论上,不,因为java.util.Date和java.util.Calendar.getInstance()最终都使用System.currentTimeMillis()来返回当前时间。
然而,日历实现需要考虑其他因素,例如Locale,或者如果语言环境是JP或TH ......您可以在两个类的源代码中看到它。
答案 1 :(得分:-1)
我认为两者都会返回相同的内容:
Calendar.getInstance().getTime()
:返回表示此日历时间值的Date对象(距离Epoch(1970年1月1日00:00:00.000 GMT(格里高利))的毫秒偏移量。)“)。
new Date()
:在内部使用System.currentTimeMillis(),分配一个Date对象并对其进行初始化,使其表示分配时间,测量精确到毫秒。当前时间与1970年1月1日午夜时间之间的差异,以毫秒为单位。
我查了一下:
public static void main(String[] args) {
Date date = new Date();
Date date1 = Calendar.getInstance().getTime();
System.out.println(date +" = " + date1);
}
输出:
Wed Aug 15 02:45:15 IST 2012 = Wed Aug 15 02:45:15 IST 2012