格式化google api客户端DateTime时出现“无法将给定对象格式化为日期”错误

Mig*_*Slv 2 java datetime android simpledateformat

我需要将 google api 客户端包的 DateTime 对象转换为一个简单的字符串。应该很容易,但我是 android 新手。

com.google.api.client.util.DateTime  date = new com.google.api.client.util.DateTime(System.currentTimeMillis());
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String dateAsISOString = df.format(date);
Run Code Online (Sandbox Code Playgroud)

这给出了以下异常:

java.lang.IllegalArgumentException:无法将给定的对象格式化为日期

我猜 DateFormat 也应该来自一些谷歌包,但找不到在哪里。

use*_*685 6

您收到错误是因为您试图使用SimpleDateFormat错误的Date对象。

您应该使用java.util.Date,如果你想利用替代SimpleDateFormat

这是更正后的代码片段:

java.util.Date date = new java.util.Date(System.currentTimeMillis());
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String dateAsISOString = df.format(date);
System.out.println(dateAsISOString);
Run Code Online (Sandbox Code Playgroud)