2015-04-22 143 views
0

我有下面的代码乔达时间,DateTimeFormatter

dateTimeFormat = ISODateTimeFormat.dateTimeNoMillis() 

和我用下面的

public static String print(Date value) { 
    return dateTimeFormat.print(value.getTime()); 
} 

dateTimeFormat,现在我得到的问题,在我的打印方法,我把许多最新情况与+ 4小时使用时间和dateTimeFormat.print(value.getTime())之后;我得到+3小时的时间,但所有日期实例中的一个变为+4小时,对我来说这个错误。

在所有日期情况下具有相同的时区欧洲/莫斯科

什么可能是错在我的情况?

回答

2

在所有日期情况下具有相同的时区欧洲/莫斯科

一个Date实例没有时区 - 这只是时间瞬间。但您应该指定格式化程序的时区,例如

dateTimeFormat = ISODateTimeFormat 
    .dateTimeNoMillis() 
    .withZoneUTC(); 

如果你想有一个值了解一个时区,你应该使用DateTime而不是Date

+0

Aftet这个选项我没有看到我的+ X小时在我的肥皂性反应 2014-09-17T00:00:00Z 什么代码帮助我告诉我的+ X小时? – user3569530

+1

@ user3569530:那么你想使用哪个区域?正如我所说的,日期没有区域... –