相关疑难解决方法(0)

如何处理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 时间将一个时区转换为另一个时区

有一个表格,有一个国家下拉菜单,用户将选择国家,然后有一个时区下拉菜单,用户将选择用户选择的国家/地区可用的时区。然后用户将输入当地日期(例如:26-Dec-2014)和时间(23:11)(24 小时制) 此输入的日期和时间适用于所选国家和时区。现在我必须将此日期和时间转换为 GMT 时区。我如何使用 joda 时间来做到这一点

如何计算夏令时(DST)?

我做了一个函数,它接受从时区到时区到日期的参数

public static String convertTimeZones( String fromTimeZoneString, 
             String toTimeZoneString, String fromDateTime) {
         DateTimeZone fromTimeZone = DateTimeZone.forID(fromTimeZoneString);
         DateTimeZone toTimeZone = DateTimeZone.forID(toTimeZoneString);
         DateTime dateTime = new DateTime(fromDateTime, fromTimeZone);

         DateTimeFormatter outputFormatter 
            = DateTimeFormat.forPattern("dd-MMM-yyyy HH:mm").withZone(toTimeZone);
        return outputFormatter.print(dateTime);
    }
Run Code Online (Sandbox Code Playgroud)

我想以一种格式 (24-Feb-2014 12:34) 将日期传递给这个函数,但它没有采用这种格式

java timezone datetime jodatime

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

如何使用org.joda.time设置时区?

我想将一个字符串解析为DateTime对象:

DateTimeFormatter fmt = DateTimeFormat.forPattern("M/d/yyyy HH:mm");
DateTime dt = fmt.parseDateTime(stringDate + " " +     stringTime).withZone(DateTimeZone.forID("Europe/Dublin"));
Run Code Online (Sandbox Code Playgroud)

如果我介绍时间06/22/2014 10:43我得到

06/22/2014 8:43 +0100,

但我想得到

06/22/2014 10:43 +0100

我怎样才能做到这一点?

java jodatime

5
推荐指数
1
解决办法
3575
查看次数

标签 统计

java ×3

jodatime ×3

datetime ×1

timezone ×1