Java JodaTime:小时是如何表示的

Java JodaTime:小时是如何表示的,java,jodatime,Java,Jodatime,我现在正在使用JodaTime,有一个关于如何将字符串解析为DateTime的问题 我有一个日期字符串,格式如下: "2013-05-14T11:36:08+0000" 我试图将其转换为JodaTime的DateTime对象: DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss"); DateTime dateTime = fmt.parseDateTime("2013-05-14T1

我现在正在使用JodaTime,有一个关于如何将字符串解析为DateTime的问题

我有一个日期字符串,格式如下:

"2013-05-14T11:36:08+0000"
我试图将其转换为JodaTime的DateTime对象:

    DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
    DateTime dateTime = fmt.parseDateTime("2013-05-14T11:36:08+0000");
它很好用,只是如果我打电话

dateTime.getHourOfDay()
它返回12而不是11

令人惊讶的是,如果我使用Java的SimpleDataFormat:

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    Date date = df.parse("2013-05-14T11:36:08+0000"); 
日期包含完全相同的结果,小时是12而不是11

我住在伦敦。我开始想这是否是因为夏天节省时间?还是我在如何解析字符串的问题上犯了错误


请帮忙。非常感谢。

您是否已通过
System.out.println(dateTime)进行检查?我住在伦敦,它打印的时间正确:
2013-05-14T12:36:08.000+01:00
(注意+01:00)。是的。我得出了同样的结果。我想这种转换是可取的。但它从哪里获取时区信息并知道我在一个使用DST的国家?