【问题标题】:How to convert java.util.Date objects into Calendar objects? [duplicate]如何将 java.util.Date 对象转换为 Calendar 对象? [复制]
【发布时间】:2013-10-12 02:16:01
【问题描述】:

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

但是,我看到 date.getYear(), date.getMonth() 等都已弃用,它说要改用日历。但是 PrettyTime 仅将其结果作为 Date 对象返回,而且我看不到将 Date 对象转换为日历对象的方法。

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

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

【问题讨论】:

  • Calendar calendar = ...; calendar.setTime(someDateObject);就这么简单
  • 或以毫秒为单位获取时间。
  • 你们显然打字比我快一点。

标签: java date calendar


【解决方案1】:
Calendar cal = Calendar.getInstance();
cal.setTime(date);

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

你也可以

cal.setTimeInMillis(date.getTime());

【讨论】:

  • 谢谢,我希望 setTime 方法的名称没有那么含糊或文档更清晰,所以我不必问这个问题。
  • 作为一般建议,如果可以,请尝试使用 Joda time。它比 Java 标准时间干净得多。
  • @ClickUpvote 我建议改用joda time 库,或者等待Java 8 重新设计日期API。
  • @LuiggiMendoza 它是否允许从给定的字符串创建日期/日历对象,例如YYYY-MM-DD HH:MM:SS?这是我的主要要求,因为我需要将 MySQL 日期/日期时间字符串转换为 Java 日期/日历,反之亦然。
  • @ClickUpvote 使用 SEO。我的第一个搜索结果给了我这个链接:stackoverflow.com/q/6252678/1065197
猜你喜欢
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 2010-11-07
  • 2011-11-28
  • 2020-05-02
  • 2021-09-29
相关资源
最近更新 更多