Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中将日期格式转换为其他日期?_Java_Android_Date - Fatal编程技术网

Java 在Android中将日期格式转换为其他日期?

Java 在Android中将日期格式转换为其他日期?,java,android,date,Java,Android,Date,我正在从服务器获取2011-10-01T21:00:00.0000000-07:00格式的日期。我尝试使用“yyyy-MM-dd'T'HH:MM:ss.SSSZ”这种SimpleDataFormat类格式来转换它。但它总是给我一个异常 有人能告诉我转换它可能有什么问题吗 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssSSSSSZ"); Date eventDate = dateFormat.par

我正在从服务器获取2011-10-01T21:00:00.0000000-07:00格式的日期。我尝试使用“yyyy-MM-dd'T'HH:MM:ss.SSSZ”这种SimpleDataFormat类格式来转换它。但它总是给我一个异常

有人能告诉我转换它可能有什么问题吗

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssSSSSSZ");
Date eventDate = dateFormat.parse(date);

上面的代码给出了错误。

大写字母S大约需要1到3个字符,而在那里您有7个字符。这可能就是问题所在。如果毫秒不重要,请尝试删除它们。如果你想尝试一些随机的东西,试着在里面放七个S,看看是否有帮助


注意:在上面的代码片段中,您缺少ss和SSSS之间的点,您的格式错误:在字符串
2011-10-01T21:00:00.0000000-07:00中,您的毫秒字节太多。
SSS
格式字符串正好需要3个零(毫秒计数不能超过3个有效数字)


检查服务器格式。

始终包括完整异常和代码段-最好是一个。我已添加了产生异常的代码段。还添加了异常,包括堆栈跟踪。你认为无关细节对诊断这个问题的人是有用的。(在提交联机帮助时,仔细检查是一个好习惯。)确保您正在解析的日期与您的
SimpleDataFormat
模式完全匹配。变量
date
包含什么?七个Ss不起作用。我试过了。但是我把你撞了。我同意这可能是问题所在。即使我认为这是问题所在,但这是我从服务器得到的响应。服务器响应在ss和SSS之间没有点,这就是我删除它的原因,但仍然没有成功。“即使我认为这是问题所在”。然后检查答案,然后继续。用java.util.StringTokenizeRall StringTokenize来解决这个问题应该非常简单,我知道并且喜欢它。但是,它已被弃用并替换为String.split(),它接受正则表达式。