这是我的场景:我想解析用户给我的时间戳。如果时间戳没有时区信息,我想假设时间戳在用户的时区,如果时间戳确实定义了时区,请使用该时区。乔达时间:分析字符串和覆盖时区,如果时区被省略
下面是使它很难的部分:
- 我无法设置DateTimeZone.setDefault(UserTimeZone),因为这将影响到所有服务器上的用户,证明这里:Switch Timezone for calculation。
- 我不能使用withOffsetParsed(),因为它不告诉我用户是否明确设置了时区或者它回到了默认值。
- 我无法使用withZone(),因为它会覆盖字符串中的任何时区信息。
我想是这样的:
DateTimeFormatter parser = ISODateTimeFormat.dateTimeParser()
DateTimeZone userTimeZone = getUserTimeZone(); //assume -04:00
//returns 2014-05-17T15:36:14+02:00
parser.parseDateTime("2014-05-17T15:36:14+02:00", userTimeZone);
//returns 2014-05-17T15:36:14-04:00
parser.hasTimeZone("2014-05-17T15:36:14", userTimeZone);
有没有简单的方法来做到这一点?
没有,处理TZ是在A – Totoro