Java SimpleDateFormat.parse抛出:无法解析的日期:“2015-10-06T08:00:00 + 00:00”(偏移10处)

时间:2015-10-12 07:37:13

标签: java android datetime timezone date-parsing

你好我有以下字符串和datetime:

public static String nextOccurenceString = "2015-10-06T08:00:00+00:00";

我想通过以下模式将字符串解析并格式化为以下格式:

public static String pattern = "yyyy-MM-dd HH:mm:ss";

但是当我尝试调用将日期字符串解析为日期对象的方法时,我总是得到异常:

Unparseable date: "2015-10-06T08:00:00+00:00" (at offset 10)

方法如下:

public static void convertStringToDate(String dateString) {
            try {
                SimpleDateFormat sdf;
                sdf = new SimpleDateFormat(pattern, Locale.ENGLISH);
                Date test = sdf.parse(nextOccurenceString);
                Logger.d(test.toString());
            } catch (Exception e) {
                Logger.e(e.getMessage());
            }

    }

我正在使用标准格式化和解析类:

http://developer.android.com/reference/java/text/SimpleDateFormat.html

我该如何解决?应该替换 nextOccurenceString 中的内容,或者我可以使用以下格式的字符串: “2015-10-06T08:00:00 + 00:00”

非常感谢您的任何建议。

2 个答案:

答案 0 :(得分:2)

你的模式错了。必须是:

/tmp/ccbeXOvM.s: Assembler messages:
/tmp/ccbeXOvM.s:5167: Error: operand size mismatch for `rdrand'

有关更多信息,请阅读X86, X32, and X64 platforms

的javadoc

答案 1 :(得分:1)

字符串的正确模式为yyyy-MM-dd'T'HH:mm:ssZISO 8601)而不是yyyy-MM-dd HH:mm:ss