标签: jodatime

如何处理jodatime由于时区偏移过渡而导致的非法瞬发

我想将joda设置DateTime为今天凌晨2点(参见下面的示例代码).但我得到了这个例外:

Exception in thread "main" org.joda.time.IllegalFieldValueException: Value 2 for hourOfDay is not supported: Illegal instant due to time zone offset transition: 2011-03-27T02:52:05.239 (Europe/Prague)
at org.joda.time.chrono.ZonedChronology$ZonedDateTimeField.set(ZonedChronology.java:469)
at org.joda.time.MutableDateTime.setHourOfDay(MutableDateTime.java:702)
Run Code Online (Sandbox Code Playgroud)

上面处理异常的正确方法是什么,或者DateTime在一天中的特定时刻创建一个?

示例代码:

MutableDateTime now = new MutableDateTime();
now.setHourOfDay(2);
now.setMinuteOfHour(0);
now.setSecondOfMinute(0);
now.setMillisOfSecond(0);
DateTime myDate = now.toDateTime();
Run Code Online (Sandbox Code Playgroud)

谢谢.

java jodatime

43
推荐指数
3
解决办法
3万
查看次数

使用joda时间的两个日期之间的差异?

假设有两个日期A(开始时间)和B(结束时间).A&B可以是同一天甚至是不同日子的时间.我的任务是以秒为单位显示差异.我正在使用的日期格式是

Date Format :: "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 
Run Code Online (Sandbox Code Playgroud)

例如

start date ::   "2011-11-16T14:09:23.000+00:00"
end date ::     "2011-11-17T05:09:23.000+00:00"            
Run Code Online (Sandbox Code Playgroud)

感谢帮助.

java jodatime

43
推荐指数
2
解决办法
3万
查看次数

通过Hibernate坚持Joda-time的DateTime

我在我的游戏应用程序中使用Jodatime,但目前不必做来回转换自/至一束java.util.Datejava.sql.Time.

由于jodatime包含在Play发行版中,我认为可能有更好的方法来实现这一点.有没有什么办法可以让我的模型字段DateTimes,而不是java.util.Datejava.sql.Time这样的转换是自动完成的?还有另一种简化方法吗?

hibernate jodatime

42
推荐指数
3
解决办法
3万
查看次数

JodaTime相当于DateUtils.truncate()

我之前从未使用过JodaTime,但回答了这个问题,如何在一个月内获得序数平日.

我尝试了它并想出了这个丑陋的代码来取消下面的所有字段:

DateTime startOfMonth =
    input.withDayOfMonth(1)
        .withHourOfDay(0)       // there
        .withMinuteOfHour(0)    // has got to
        .withSecondOfMinute(0)  // be a shorter way
        .withMillisOfSecond(0); // to do this
Run Code Online (Sandbox Code Playgroud)

共享/郎相当于使用DateUtils

Date startOfMonth = DateUtils.truncate(input, Calendar.MONTH);
Run Code Online (Sandbox Code Playgroud)

在JodaTime中,首选的成语是什么?

java jodatime

41
推荐指数
3
解决办法
3万
查看次数

相当于Java 8 Date和Time API中的jodatime Interval

Java 8处理时间的方式似乎已经有了很大改进,我开始考虑在某些情况下替换jodatime.但我缺少的是等同于Interval类.

我还没有深入挖掘Java 8,所以我可能错过了那里的东西.有没有人有关于如何最好地处理间隔的想法?

jodatime java-8

41
推荐指数
1
解决办法
2万
查看次数

下个月的第一天用java Joda-Time

您将如何重写下面的方法,该方法将返回下个月的第一天,org.joda.time包装在Joda-Time中

public static Date firstDayOfNextMonth() {
    Calendar nowCal = Calendar.getInstance();
    int month = nowCal.get(Calendar.MONTH) + 1;
    int year = nowCal.get(Calendar.YEAR);

    Calendar cal = Calendar.getInstance();
    cal.clear();
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month);
    cal.set(Calendar.DAY_OF_MONTH, 1);
    Date dueDate = new Date(cal.getTimeInMillis());

    return dueDate;
}
Run Code Online (Sandbox Code Playgroud)

java calendar jodatime

40
推荐指数
4
解决办法
4万
查看次数

在Joda-Time获得特定一周的第一天?java的

Joda-Time,有没有办法获得一周的第一天(星期一)的日期.

例如,我想根据今天的当前日期21/01/11找出这个星期一星期一的日期

提前干杯.

编辑:我也希望找到一周结束的日期,即星期日的日期.干杯

java jodatime

39
推荐指数
4
解决办法
3万
查看次数

推荐用于Joda-Time的DateMidnight

LocalDate#toDateMidnight读取的javdoc 如下:

从v1.5开始,建议您避免使用DateMidnight并使用toDateTimeAtStartOfDay(),因为下面有详细说明.

如果默认时区在午夜切换到夏令时,则此方法将引发异常,此LocalDate表示该切换日期.问题是在所需的日期没有午夜这样的时间,因此抛出了这样的例外.

在某些时区中不存在午夜这一事实似乎足以避免DateMidnight完全使用(假设您的代码没有使用已知不具有此DST情况的固定时区,并且永远不需要在其中使用不同的时区未来).

但是,DateMidnight不会弃用,并且DateMidnight类本身的javadoc中没有类似的建议或警告.此外,DateMidnight构造函数愉快地接受即时和时区,使得在给定的一天不存在午夜,而不是投掷IllegalArgumentException类似的LocalDate#toDateMidnight.结果DateMidnight表现为DateTime在一天开始时的时间.

当某个特定日期不存在午夜时,为什么LocalDate#toDateMidnightDateMidnight构造函数没有的情况下抛出异常?推荐的用例是DateMidnight什么?

java date jodatime

39
推荐指数
4
解决办法
2万
查看次数

Joda Time是否已被Java 8 Date and Time API弃用?(java.time)

如果我可以使用Java 8 Date and Time API(java.time),有没有理由使用Joda Time ?
我应该每次都使用Java 8日期和时间吗?

deprecated jodatime java-8 java-time

39
推荐指数
1
解决办法
2万
查看次数

如何减去两个joda日期时间?

我知道这不是"它应该工作的方式",但仍然是:如果你有两个DateTime对象,那么减去它们的好方法是什么?将它们转换为Date对象?

DateTime start = new DateTime();
System.out.println(start + " - doing some stuff");

// do stuff

DateTime end = new DateTime();
Period diff = // end - start ???
System.out.println(end + " - doing some stuff took diff seconds");
Run Code Online (Sandbox Code Playgroud)

java datetime jodatime

38
推荐指数
3
解决办法
3万
查看次数

标签 统计

jodatime ×10

java ×7

java-8 ×2

calendar ×1

date ×1

datetime ×1

deprecated ×1

hibernate ×1

java-time ×1