问题标签 [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 投票
2 回答
1559 浏览

java - 01.04.1893 的 Joda DateTime 中的奇数结果

我的时区是 CET(柏林)。
在测试 Joda 的 DateTime 时,我注意到了一些奇怪的事情:

时区偏移 6 分 32 秒导致时间不存在??
我必须说这是非常出乎意料的,因为我没有指定任何时区信息,因此没想到会遇到这种问题。
如果 1893 年 3 月 CET(柏林)不存在 - 为什么不new DateTime(1893, 3, 31, 0, 0, 0, 0)选择与我指定的时间匹配的时区(即 0 分和 0 秒)?

我有哪些选择可以使用 DateTime 获得正确时间?

-- 编辑 --
问题似乎是 toDate()。在发布问题之前,我已经将其编辑了。
Joda 本身实际上工作正常:

只是转换为 Date 将部分偏移量移动到分钟和秒中。

0 投票
4 回答
194 浏览

java - 在 App 层之间传递 Joda Time 对象

我正在考虑使用Joda-Time
我想知道我是否应该注意我的接口返回的对象类型。
从我在服务层的接口签名中返回 Joda-Time 对象意味着使用它的每个模块都将依赖于 Joda-Time 而不是常见的java.util.Date API。
您是在 App 模块周围传递 Joda 对象,还是在应用程序的特定部分编写包装器?

0 投票
2 回答
3756 浏览

java - Finding begin and end of year/month/day/hour

I'm using the following snipped to find the begin and end of several time periods in Joda. The little devil on my left shoulder says thats the way to go... but I dont believe him.

Could anybody with some joda experience take a brief look and tell me that the little guy is right?

(It will be only used for UTC datetime objects)

Thank you!

0 投票
1 回答
796 浏览

grails - Jodatime groovy/grails 日期范围搜索与时区转换

我目前正在将 Joda DateTime (Datetime+TimeZone) 值存储到数据库中。

我想做的是根据用户的时区而不是 UTC 时间来获取 24 小时的记录。IE 我想为时区为 GMT 的人获取 00:00GMT-24:00GMT 之间的记录,为时区为 PST 的人获取 00:00PST-24:00PST 之间的记录。

现在我认为我不能在 HQL 查询中执行此操作,因为显然 HQL 不会为我执行 DateTime.toDateTime(toZone) 转换。那么是否可以在 groovy/grails 中执行这种范围搜索?

0 投票
4 回答
1055 浏览

java - 部分构造的对象/多线程

我正在使用 joda,因为它在多线程方面享有盛誉。使多线程日期处理高效,例如通过使所有 Date/Time/DateTime 对象不可变,还有很长的路要走。

但在这种情况下,我不确定 Joda 是否真的在做正确的事情。可能确实如此,但我很想看到解释。

当调用 DateTime 的 toString() 时,Joda 会执行以下操作:

所有格式化程序都是线程安全的(它们也是不可变的),但是格式化程序工厂是什么:

这是单线程应用程序中的常见模式,但众所周知,它在多线程环境中容易出错。

我看到以下危险:

  • 空值检查期间的竞争条件-> 最坏情况:创建了两个对象。

没问题,因为这只是一个辅助对象(与正常的单例模式情况不同),一个保存在 dt 中,另一个丢失,迟早会被垃圾收集。

  • 在对象完成初始化之前,静态变量可能指向部分构造的对象

(在说我疯之前,请阅读这篇维基百科文章中的类似情况。)

那么 Joda 如何确保没有部分创建的格式化程序被发布到这个静态变量中呢?

感谢您的解释!

雷托

0 投票
2 回答
20883 浏览

java - Joda-Time:DateTime、DateMidnight 和 LocalDate 用法

Joda-Time库包括不同的日期时间类

DateTime - JDK 日历的不可变替换
DateMidnight - 表示时间强制为午夜的日期的不可变类
LocalDateTime - 表示本地日期和时间(无时区)的不可变类

我想知道您如何在分层应用程序中使用这些类。

我看到几乎所有接口都使用 LocalDateTime (至少在服务层)的优势,这样我的应用程序就不必管理时区,并且可以安全地假定时间始终采用 UTC。然后,我的应用程序可以在执行流程的最开始使用 DateTime 来管理时区。

我还想知道 DateMidnight 在哪种情况下有用。

0 投票
2 回答
70081 浏览

java - Joda-Time: what's the difference between Period, Interval and Duration?

In Joda-Time 2, what is the difference between the three kinds of time spans:

  • Period
  • Interval
  • Duration

    1. Why do we need three classes?

    2. Which one performs better?

    3. Why is dividing a Period or Duration or Interval instance not implemented? E.g. p = p.divideBy(2);

0 投票
6 回答
87432 浏览

java - Joda time:如何将字符串转换为 LocalDate?

如何指定格式字符串以单独从字符串转换日期。就我而言,只有日期部分是相关的

将其构造为DateTime失败:

有错误java.lang.IllegalArgumentException: Invalid format: "2011-04-17" is too short

可能是因为我应该LocalDate改用。但是,我没有看到任何LocalDate. String dateString = "2009-04-17";转换成的最佳方式是什么LocalDate(如果不是正确的表示形式,则为其他方式)

谢谢...

0 投票
4 回答
7234 浏览

gwt - 将时区从客户端 (GWT) 传递到服务器 (Joda Time)

我在客户端(浏览器)上使用 GWT,在服务器上使用 Joda Time。我想执行一些以请求进入的日期(即 00:00:00 到 23:59:59)为界的数据库查找,时间边界基于用户(即浏览器)的时区。

所以我让 GWT 代码new java.util.Date()获取请求的时间,并将其发送到服务器。然后我像这样使用 Joda Time:

当然麻烦的是toDateMidnight(),在没有指定TimeZone的情况下,会使用系统(即服务器)的TimeZone。我一直在尝试找到一种简单的方法将 TimeZone 从浏览器传递到服务器,但运气不佳。在 GWT 中,我可以通过以下方式获得 GMT 偏移量:

这会导致类似“-0400”的结果。但是 Joda TimeDateTimeZone.forID()需要格式为“America/New_York”的字符串,或小时和分钟的整数参数。当然,我可以将“-0400”解析为 -4 小时 0 分钟,但我想知道是否没有更直接的方法可以做到这一点。

0 投票
2 回答
1121 浏览

c# - 在 C# 中使用日期表达式的库?

我可以使用什么库来根据日期表达式计算日期?

日期表达式类似于:

  • “+3D”(加三天)
  • “-1W”(减去一周)
  • “-2Y+2D+1M”(减2年,加1天,加1个月)

例子:

预计到达日期等于当前日期加上 3 天。

我听说过 JodaTime 和 NodaTime,但我还没有在它们中看到任何这样做的东西。我应该使用什么来在 C# 中获得此功能?