Java joda时区比较

Java joda时区比较,java,jodatime,Java,Jodatime,我需要在午餐时间显示消息,例如12:30到14:00,我的消息是market,时区(GMT-5)不同于我的午餐时间时区(GMT-2),我使用的是Joda时间库 private void getHours() { int Hour = time.getHourOfDay(); int Min = time.getMinuteOfDay(); if (Hour>=12 && Min>=30 || Hour=<14){ mess

我需要在午餐时间显示消息,例如12:30到14:00,我的消息是market,时区(GMT-5)不同于我的午餐时间时区(GMT-2),我使用的是Joda时间库

private void getHours() {
    int Hour = time.getHourOfDay();
    int Min = time.getMinuteOfDay();

    if (Hour>=12 && Min>=30 || Hour=<14){
       message = "Sorry we are eating";
   }
}
private void getHours(){
int Hour=time.getHourOfDay();
int Min=time.getMinuteOfDay();

如果(小时>=12&&Min>=30 | |小时=正确的方法是在
LocalTime
上使用比较方法:

LocalTime localTime = time.toLocalTime();
if (localTime.isAfter(new LocalTime(12, 30))
    && localTime.isBefore(new LocalTime(14, 0))) { ... }

(妮特:这实际上是在检查
时间>12:30
时间<14:00
。如果你想
=
和/或
如何初始化
时间
?这台机器运行在哪个时区?@leonardkraemer我用另一种方法,我有一些东西已经在周末工作了
如果(time.getDayOfWeek()==DateTimeConstants.SUNDAY)message=“Is SUNDAY”
但我真的把时间对象和这个小时混淆了什么类型?时间对象运行在哪个时区?leonardkraemer我有这个
DateTime=new DateTime(DateTimeZone.UTC);
消息中的时区是América/PanamáGMT-5(我的机器)但是luch时区来自Atlántico/Georgia_del_Sur GMT-2你应该在构造器中使用你想要的时区,而不是UTC。然后时间会对齐。