如何将java.util.Date对象转换为Calendar对象?

Cli*_*ote 11 java calendar date

我在我的java应用程序中使用PrettyTime java库进行各种日期/时间处理,例如将MySQL格式日期/日期时间字符串转换为java日期,反之亦然.

但是,我看到date.getYear(), date.getMonth(),等等都被弃用了,它说使用Calendar代替.但是PrettyTime只将结果作为Date对象返回,我看不到将Date对象转换为日历对象的方法.

Calendar的文档中,我唯一提到的Date是方法setTime(Date date),但方法名称是ambigious,并且文档不清楚调用此方法实际上会做什么.显然我不能这样做calendar.set( date.getYear(), date.getMonth(), ..),因为这些方法已Date被弃用.

那么如何将给定的Date对象转换为Calendar?

Jef*_*rey 9

Calendar cal = Calendar.getInstance();
cal.setTime(date);
Run Code Online (Sandbox Code Playgroud)

如果需要,您也可以在不同的语言环境中获取日历.

你也可以这样做

cal.setTimeInMillis(date.getTime());
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我希望`setTime`方法没有如此暧昧地命名或者有更清晰的文档,所以我不必问这个问题. (2认同)