Tag: jodatime

有没有办法在使用maven-jlink-plugin时添加maven依赖项?

我正在使用这个Github项目来接触Java 9中的新模块化function。我想为项目添加依赖项并能够构建本机映像。 但是,当我尝试向pom.xml添加新的依赖项,并将requires语句添加到module-info.java时,我从maven-jlink-plugin中收到以下错误: Error: module-info.class not found for joda.time module 我正在尝试使用它作为概念certificate,我可以使用新的链接阶段部署图像,但自然我需要能够具有外部依赖性,我需要使用maven(工作约束)。 对mod-jar / pom.xml的更改 … joda-time joda-time 2.9.9 … MOD-jar/ module-info.java module com.soebes.nine.jar { requires java.base; requires joda.time; exports com.soebes.example.nine.jar; } 日志: [INFO] — maven-jlink-plugin:3.0.0-alpha-1:jlink (default-jlink) @ mod-jlink — [INFO] Toolchain in maven-jlink-plugin: jlink [ /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin/jlink ] [INFO] The following dependencies will be linked into […]

2个java.util.Date之间的月数,不包括日期

我想要两个java.util.Date之间的月数,而不计算月份的日期。 所以我只想比较年份和月份。 例: monthsBetween(new Date(2012,01,28), new Date(2012,02,01)) —> 1 monthsBetween(new Date(2012,02,27), new Date(2012,02,28)) —> 0 monthsBetween(new Date(2012,03,28), new Date(2012,07,01)) —> 4 我试过这个(返回0,预期1),使用Joda-time: private static int monthsBetween(final Date fromDate, final Date toDate) { DateTime date1 = new DateTime().withDate(2012, 1, 20); DateTime date2 = new DateTime().withDate(2012, 2, 13); PeriodType monthDay = PeriodType.yearDayTime().withDaysRemoved(); Period difference = new Period(date1, […]

Joda时间被包含在Java 7中?

可能重复: Java 7日期/时间API 我已经读过有关Joda Time预计将被包含在Java 7中的传闻,但我无法找到这些信息的权威来源。 将Joda Time包含在未来的JDK中吗? 请引用你的消息来源。

Hibernate TypeResolver

我知道hibernate最近在3.6中重写了它的类型系统。 我认为现在允许您将java类与Type(或UserType)相关联。 例如,我使用joda-time并有一些UserTypes将LocalDate和LocalDateTime映射到适当的SQL类型。 这在使用对象时工作正常,但是如果我想将joda类型作为HQL参数传递,则hibernate会变得混乱,因此我必须记住每次拨打电话时都提供Type。 query.setParameter( “now”, new LocalDateTime(), Hibernate.custom( LocalDateTimeType.class ) ); 我认为现在可以在Configuration / SessionFactory设置阶段说LocalDateTime – > LocalDatetimeType但我不知道如何做到这一点。 我找到了TypeResolver,但是在解密我应该调用哪个方法来实现这一点时遇到了麻烦。 或者请纠正我,如果这是不可能的,即使3.6中的新类型的东西。

如何使用Java的Joda API在几个月内计算差异

我正在编写一个程序,它应该只计算2个给定日期之间的月份并将值返回给程序。 例如,如果我必须计算4月1日到6月30日之间的月数(这是一个季度,3个月),我使用以下代码: DateTime start = new DateTime().withDate(2011, 4, 1); DateTime end = new DateTime().withDate(2011, 6, 30); Months mt = Months.monthsBetween(start, end); int monthDiff = mt.getMonths(); 使用这个,我仍然得到“2”作为月数,而实际上是“3”个月。 这是我想要的一个例子。 我只计算月数(即从开始月份的第1天到结束月份的最后一天),我不需要额外的分析,如天,周,小时等。我如何实现这一目标? 任何帮助,将不胜感激。

Joda时间 – 两个日期之间的所有星期一

我第一次在Spring 3.0项目中使用Joda time api。 现在我有一个开始和结束日期,我想得到这两个日期之间所有星期一的日期。 我怎样才能做到这一点 ? 我不知道从哪里开始,有人可以建议。 我查看了Joda Time的post:如何在某个日期间隔获取工作日的日期? 它提供了某种指导,但由于对joda的经验不足,它仍然有些模糊。

使用Joda-Time DateTimeFormatter的genitive(波兰语语言环境)中的月份名称

我有LocalDate ,其中包含日期2012-12-28,我想用本地化的月份名称(即波兰语中的 12月)打印出来的格式 ,其中波兰语与nominative( grudnia和grudzień分别)不同。 因为我也想使用自定义格式,所以我使用DateTimeFormatterBuilder创建了自己的DateTimeFormatterBuilder (在Joda-Time中,AFAIK是正确的方式): private static final DateTimeFormatter CUSTOM_DATE_FORMATTER = new DateTimeFormatterBuilder() .appendLiteral(“z dnia “) .appendDayOfMonth(1) .appendLiteral(‘ ‘) .appendText(new MonthNameGenitive()) // <– .appendLiteral(' ') .appendYear(4, 4) .appendLiteral(" r.") .toFormatter() .withLocale(new Locale("pl", "PL")); // not used in this case apparently 输出应为“ z dnia 28 grudnia 2012 r。 ”。 我的问题是关于用箭头标记的行:我应该如何实现MonthNameGenitive ? 目前它扩展了DateTimeFieldType并且有很多代码: final class […]

结合重叠日期范围 – Java

我有一个Task类,如下所示(使用Java 8 Time API)。 class Task { LocalDateTime start; LocalDateTime end; Set actionItems; } 我有两个排序(首先是开始,然后是结束)列表包含这样的任务实例,让我们说List tasksList1和List tasksList2 。 我想组合重叠的任务(通过在需要时分解任务,并从重叠到单个新任务对象的其他任务中添加actionItem)。 例如,假设我有一个名为T1的任务,从2015年1月1日开始,到2015年1月31日结束,其中包含操作项A和B.然后用户创建一个从01/15开始的新任务T2 / 2015年并于2015年2月15日结束,并将行动项目C添加到其中。 当我合并时,我应该得到三个Task对象,如下所示。 任务X – 从2015年1月1日到2015年1月15日,包含操作项A,B 任务Y – 从2015年1月15日到2015年1月31日,包含项目A,B和C. 任务Z – 从2015年1月31日到2015年2月15日,包含项目C. 要进行可视化,如果两个列表中的任务对象在时间轴中看起来如下所示: > [—–] [—–] [—-] [—————–] > [—–] [—————] [——] 然后,生成的任务列表将包含如下任务。 > [–][-][–] [—–] [—–][—-][–] [-][——][—–]` 重叠任务应该将actionItems组合在两个重叠的时间段内重叠的任务中。 处理这个问题最有效的方法是什么? 目前我正在尝试使用PeekableIterator的不同选项,但还没有运气。 任何使用JodaTime而不是Java 8 API的解决方案也是受欢迎的。

使用Joda时间比较两个日期

我想比较两个日期,但是我遇到了麻烦。 1日期是从java.util.date对象创建的,另一个是手动制作的。 以下代码是一个示例: Date ds = new Date(); DateTime d = new DateTime(ds); DateTime e = new DateTime(2012,12,07, 0, 0); System.out.println(d.isEqual(e)); 然而,测试结果是false 。 我猜这是因为时间。 如何检查这两个日期是否相等(我的意思是年,月,日期是相同的)?

如何将Joda Time DateTime对象转换为SQL Server格式的String?

我在Java中使用Joda-Time库,并将日期和时间存储为org.joda.time.DateTime对象。 如何可靠地将此DateTime对象转换为将由SQL Server(包括时区)正确解析的String,以便我可以在INSERT SQL语句中使用它?