我正在尝试计算特定日期和当前日期之间的时差 但是我无法使用Joda-Time库正确计算它。 这是我的代码
DateTimeZone timeZoneBrazil = DateTimeZone.forID( "Brazil/East" );
DateTime dateTimeBrazil = new DateTime(timeZoneBrazil);
DateTime matchDate = new DateTime(2014, 6, 12, 17, 0, 0,timeZoneBrazil);
Period per = new Period(matchDate.toDateTime(timeZoneBrazil), dateTimeBrazil.toDateTime(timeZoneBrazil));
hours=per.toStandardHours().getHours();
minutes = per.toStandardMinutes().getMinutes()%60;
seconds = per.toStandardSeconds().getSeconds()%60;
game.font.draw(game.batch,hours+":"+minutes+":"+seconds, 20, (Gdx.graphics.getHeight() - 80*scale));
这给出了14个小时的时差。
现在我尝试了这种方式
DateTimeZone timeZoneBrazil = DateTimeZone.forID( "Brazil/East" );
DateTime dateTimeBrazil = new DateTime();
DateTime matchDate = new DateTime(2014, 6, 12, 17, 0, 0);
Period per = new Period(matchDate.toDateTime(timeZoneBrazil), dateTimeBrazil.toDateTime(timeZoneBrazil));
hours=per.toStandardHours().getHours();
minutes = per.toStandardMinutes().getMinutes()%60;
seconds = per.toStandardSeconds().getSeconds()%60;
game.font.draw(game.batch,hours+":"+minutes+":"+seconds, 20, (Gdx.graphics.getHeight() - 80*scale));
这给我一个5小时30分钟的时差。我尝试了很多其他的组合,但没有一个在这里有什么问题。我来自印度,GMT +5:30。