【问题标题】:How to extract portions of joda Date time effectively?如何有效地提取部分 joda Date 时间?
【发布时间】:2012-03-08 01:16:04
【问题描述】:

我有一个包含日期和时间字段的 Joda Date Time 对象,我希望将日期和时间部分提取到 2 个不同的 sql 日期和时间对象 (java.sql.) 中。我认为将 DateTime 转换为毫秒并将其存储在相应的 sql 对象中可以解决问题,但是它会在我的应用程序逻辑的上游产生计算错误,因为一个是 === 另一个。

【问题讨论】:

  • JodaTime 有很多提取零件的方法。你读过 Javadoc 吗?
  • 是的。然而,我能想到的最好的方法是将组件提取到 LocalDate/Time 对象中,将它们推回到单独的 dateTime 对象中,然后再将它们转换回 sql 日期和时间。我想知道是否有更简单的方法。
  • 您确实意识到java.sql.Time 对象只是带有某种格式的java.sql.Date,对吧?它仍然是一个日期/时间,而不仅仅是与午夜的偏移量。
  • 那么您希望 Time 对象包含什么?从午夜开始偏移?

标签: java mysql datetime jodatime


【解决方案1】:

到目前为止,我发现的最佳方法是我在对该问题的评论中描述的,然后使用以下方法转换回 sql 时间:

new java.sql.Date(locDate.toDateTime(LocalTime.MIDNIGHT).getMillis()));
new java.sql.Time(locTime.toDateTimeToday().getMillis()) );

在 DateTime 对象 API 中找不到任何东西来提取相应的部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2022-01-06
    • 2021-05-05
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多