我正在java中创建Date
对象。
第一种方式: 使用日历
Date today = Calendar.getInstance().getTime();
第二种方式:
使用日期类
Date today1 = new Date();
哪一个是最有效的方式?
答案 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();
在您的选择中,我更喜欢第一种选择。