java如何检查ISO日期字符串中是否存在偏移量
给定这样的ISO字符串
String dateTime = "2016-07-11T16:50:22.00+05:00";
有没有办法找到特定字符串中存在的偏移量,或者不使用joda
这就是我到目前为止所做的代码,如果存在偏移量,就得到偏移量
public static String getDateTimeWithTimeZoneOffset(String dateTimeString)
{
DateTimeFormatter df = ISODateTimeFormat.dateTimeParser().withOffsetParsed();
DateTime nDt = df.parseDateTime(dateTimeString);
DateTimeFormatter dateFormatterWithoutMillis = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
return dateFormatterWithoutMillis.print(nDt) + SPACE + nDt.getZone();
}
上面的代码给出了下面的输出
2016-07-11T16:50:22 +05:00
但是当我有一个没有偏移量的字符串时,就像下面这个
2016-07-11T16:50:22
同样的代码会在默认时区中显示并打印如下
2016-07-11T16:50:22 America/Chicago
我是否可以检查字符串中是否存在偏移量,如果没有,是否抛出异常
# 1 楼答案
试试这个:
别忘了添加一个例外: