问题标签 [jodatime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
959 浏览

java - 重新编译jodatime?

这是我第一次使用 jodatime,我遇到了一个我不知道如何修复的 stackoverflow 错误。我正在创建一个 android 应用程序,该应用程序需要能够显示从创建 sqlite 记录到今天之间的天数。据我所知,除 jodatime 外,一切正常。构建项目时出现此错误

这是日志:

环顾四周后,我想我只需要重新编译我自己的 jodatime 二进制文件。我一直在使用 eclipse,我创建了一个新项目,并导入了 jodatime 源。当我尝试编译时,我在控制台中得到了这个:

可能的选项包括: -src 指定读取源文件的位置 -dst 指定写入生成文件的位置

不太确定从这里去哪里。任何帮助将不胜感激。谢谢你的时间。

StackTrace 来自溢出:

DateTimeZone.class 源在这里

0 投票
1 回答
1644 浏览

java - 将带时区的 xs:date 解析为 Joda LocalDate

在将 XML 文档中的日期和时间解析为 JodaTime 对象时,我使用一组通用的转换实用程序,通常使用org.joda.time.format.ISODateTimeFormat.

这在大多数情况下都可以正常工作,但这次我看到的文档具有xs:dateformat 的值2010-08-19Z。这是一个完全有效的xs:date值,但我尝试过的标准生成的解析器都不会接受它ISODateTimeFormatLocalDate我能找到的最接近的是ISODateTimeFormat.dateParser(),它将接受看起来很奇怪的2010-08-19TZ,但不是2010-08-19Z(注意T)。

这一切都很烦人,因为 Joda 和 XML Schema 都应该严格遵守 ISO 日期/时间格式规则,但其中一个不是,或者规范是模糊的。

在我承认失败并手动滚动自定义格式之前,任何人都可以将我指向一个ISODateTimeFormat可以读取该值的源解析器吗?

0 投票
5 回答
104358 浏览

datetime - 在 Scala 中处理日期和时间的标准方法是什么?我应该使用 Java 类型还是有原生的 Scala 替代品?

在 Scala 中处理日期和时间的标准方法是什么?我应该使用 Java 类型,例如 java.util.Date 还是有原生的 Scala 替代品?

0 投票
2 回答
1860 浏览

datetime - 如何从 Scala 中的 joda-time DateTime 中减去一天/小时/分钟?

我正在尝试将 joda-time 与它的 Scala wrapper一起使用。

val dt是 aDateTime并且包含 a date (zero time),我如何获得它之前的日期?dt - 1.days不起作用并给出

Scala-time 的例子,比如说它2.hours + 45.minutes + 10.seconds不是.hoursInt

例如, Joda-time 示例DateTime.dayOfWeek().addToCopy(3)也不起作用dayOfWeek,因为它不是org.scala_tools.time.Imports.DateTime.

格式化DateTime的输入和输出似乎按预期工作。

更新:似乎是 NetBeans IDE 的一个错误。它显示错误,而编译器编译正常,程序按预期的dt - 1.days语法工作。

0 投票
1 回答
926 浏览

java - 如何确定字符串是否可以使用 jodatimes DateTime 构造函数解析?

我需要确定输入字符串 input 是否可以由 jodatimesDateTime构造函数解析,Datetime(Object instant)但我DateTime此时对创建对象不感兴趣。

除了调用构造函数并捕获可能的异常之外,还有什么方法可以检查字符串是否可解析?

0 投票
3 回答
14333 浏览

java - 休眠日期转换

在实体中设置日期字段时,我遇到了一个奇怪的休眠相关问题。日期在java程序中被解释为UTC(我做了一个System.out来确保分配的日期是'UTC'。但是,当hibernate实际持久化到数据库时,日期被转换为本地时间并存储)例如. 该值已在实体设置器中设置为“2009-09-09 00:08:08” - GMT 保存到数据库的实际值是“2009-09-08 08:08:08” - 美国东部时间。我无法找出发生这种情况的地点和原因以及如何防止它。谢谢

PS 我正在使用 joda 日期库并使用 @org.hibernate.annotations.Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime") 注释该字段

0 投票
1 回答
1073 浏览

java - 如何求和 2 个 joda-time DateTime 值(一个包含日期和零时间,另一个包含时间和零日期)?

在我的一个 Scala 2.8 程序中,我使用 joda-time 及其 scala-time 包装器。我有 2 个 DateTime 值,一个用于日期(时间字段为零),一个用于时间(日期字段为零)(分离的原因是存储架构)。

如何从源对中同时设置日期和时间部分来获取另一个 DateTime 值?

0 投票
2 回答
1304 浏览

java - StackOverflowError 使用 joda-time new Period(long)

首先,抱歉这么长。我可能不需要所有代码,但想确定一下。

其次,我的实际问题是,我做错了什么,还是 joda-time 库中的错误?

我正在尝试使用 joda-time (1.6.1) 来计算,然后格式化持续时间。

我目前正在使用Period,这可能是错误的选择。如果是,请告诉我。但是,即使这是错误的选择,我也很确定这不应该发生。

我正在初始化一个Period使用毫秒(以秒为单位的持续时间乘以 1000)。我正在使用,Period所以我可以格式化并打印它:

我得到了下面的异常,并查看了源代码以确认循环。

期间(长):

super(long, PeriodType, Chronology):

DateTimeUtils.getChronology(chrono):

ISOChronology.getInstance():

DateTimeZone.getDefault():

forID(String) calls getDefault(), which creates the loop:

0 投票
2 回答
3103 浏览

android - 无法让 Joda-time 在 Android 上运行。

我正在学习 Android 并且需要日期/时间。一位同事向我推荐了 Joda-time,这似乎正是我取得进步所需要的。不幸的是,我无法让它工作。

我正在使用 intellij,这是 Android 2.2。

我采取的步骤:

  1. 从网站下载 Joda-time jar 。
  2. Intellij > 文件 > 项目结构 > 附加类
  3. 建造

然后我得到这个错误:

警告:忽略不带有关联 EnclosureMethod 属性的匿名内部类的 InnerClasses 属性。(此类可能是由损坏的编译器生成的。)

我不知道从这里去哪里。帮助将不胜感激!

0 投票
1 回答
2411 浏览

java - 根据用户的本地时区在特定时间执行日常操作

我的 Java 应用程序需要每天向所有用户发送一封电子邮件。我想根据每个用户的当地时间在凌晨 2 点左右送达。因此,纽约的用户会在美国/纽约时间凌晨 2 点收到消息。洛杉矶的用户将在美国/洛杉矶时间凌晨 2 点收到该消息。我的邮寄过程每天每小时运行一次。

我计划在注册期间使用 HTML5 地理位置功能或 IP 地址地理位置来自动确定每个用户的时区。当然,如果这些值不正确,用户可以手动修改时区。我打算将选定的时区作为时区 ID 字符串存储在 User 对象中,例如“America/New_York”。这将作为字符串保存到数据库中,但如有必要,可以更改。

需要考虑的事项:

  • 我需要考虑夏令时,所以用户总是在凌晨 2 点左右收到电子邮件。这意味着我不能只在用户对象中存储 GMT-8 或类似的 UTC 偏移量。洛杉矶一年中的一部分时间是 GMT-7,而其他部分时间是 GMT-8。
  • 另一个 SO question有建议存储偏移信息的答案,但我不知道这将如何工作,因为不同地方的时间在一年中可能会发生变化。每当世界某处发生时区更改事件时,我不会更新我所有的用户对象时区。
  • 我在我的应用程序中使用 JodaTime,所以如果有帮助,我可以利用它。
  • 我正在使用 Hibernate 进行数据库查询,并希望找到一个可以在 Hibernate 查询中处理的解决方案,而无需在 Java 中处理数十万条用户记录。

我正在使用 Spring Scheduling cron 功能(通过 Quartz)在一天中的每小时 2 分钟运行一个方法。现在我的大多数用户都在 America/Los_Angeles,所以我手动强制所有邮件在太平洋时间凌晨 2:02 发送。以下方法在每小时 02 点每小时运行一次,但它会手动检查时间,并且仅当洛杉矶的当前时间在 2:00 时才会继续。这意味着其他地方的用户将在与凌晨 2 点不同的时间收到电子邮件。

因此,我需要执行一个数据库查询,该查询将根据用户对象中的时区为我提供所有在凌晨 2:00 时具有本地时间的用户。关于如何做到这一点的任何想法?