我正在获取此格式的日期"2015年5月2日星期六00:00:00 GMT+0500(巴基斯坦标准时间)"
当我使用格式解析时
SimpleDateFormat sdf = new SimpleDateFormat(EEE MMM dd yyyy HH:mm:ss zZ (zzzz))
我得到了无法解析的日期异常,这显然意味着我的格式是错误的。有人能告诉我什么是合适的格式吗。写什么"(巴基斯坦标准时间)"。
这是解析日期的一种方法:
public class Test {
static final String sample_date = "Sat May 02 2015 00:00:00 GMT+0500 (Pakistan Standard Time)".replace("GMT", "")
.replace(" (Pakistan Standard Time)", "");
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss Z");
ParsePosition position = new ParsePosition(0);
Date d = sdf.parse(sample_date, position);
System.out.println(d);
System.out.println(position);
if (position.getErrorIndex() != -1) {
System.out.println(sample_date.substring(position.getErrorIndex()));
}
System.out.println(sdf.parse(sample_date));
}
}
参考:Java-不可解析的日期,需要格式匹配"GMT-0400";