在 Java 中创建日期的正确方法是什么?



我被Date类的Java API弄糊涂了。所有内容似乎都已弃用,并链接到Calendar类。所以我开始使用Calendar对象来做我想用Date做的事情,但直觉上,当我真正想做的只是创建和比较两个日期时,使用Calendar物体有点困扰我。

有简单的方法吗?现在我做

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(0);
cal.set(year, month, day, hour, minute, second);
Date date = cal.getTime(); // get back a Date object

您可以使用SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("21/12/2012");

但我不知道这是否应该被认为比使用日历更正确。。。

优秀的joda时间库几乎总是比Java的Date或Calendar类更好的选择。这里有几个例子:
DateTime aDate = new DateTime(year, month, day, hour, minute, second);
DateTime anotherDate = new DateTime(anotherYear, anotherMonth, anotherDay, ...);
if (aDate.isAfter(anotherDate)) {...}
DateTime yearFromADate = aDate.plusYears(1);

您可以尝试joda time。

相关内容

  • 没有找到相关文章

最新更新