在Java中创建Date对象的最有效方法是什么

时间:2015-05-28 10:52:36

标签: java date

我正在java中创建Date对象。

第一种方式:  使用日历

Date today = Calendar.getInstance().getTime(); 

第二种方式:

使用日期类

Date today1 = new Date();

哪一个是最有效的方式?

3 个答案:

答案 0 :(得分:3)

从Java 8开始,你应该选择LocalDateTime或LocalDate:

LocalDateTime timePoint = LocalDateTime.now(
    );     // The current date and time
LocalDate.of(2012, Month.DECEMBER, 12); // from values

LocalDate theDate = timePoint.toLocalDate(); // or
theDate = LocalDate.now(); // 

来自文档:

  

[例如,现有的类(例如java.util.Date和   SimpleDateFormatter)不是线程安全的,导致潜在的   用户的并发问题 - 不是普通开发人员会遇到的问题   期望在编写日期处理代码时处理。

     

某些日期和时间类也表现出相当差的API设计。   例如,java.util.Date中的年份从1900开始,月份从1开始,   并且天数从0开始 - 不太直观。] 1

答案 1 :(得分:2)

如果你必须在两者之间作出决定。拿new Date()。由于Calendar.getInstance().getTime()会创建一个后来无法使用的Calendar实例。

答案 2 :(得分:0)

您也可以使用它!         日期newDate =新GregorianCalendar(年,月,日).getTime();

在您的选择中,我更喜欢第一种选择。