我正在使用Eclipse和Android版本开发一个Android应用程序作为API-15,(ICS)。
我在将字符串解析为日期对象时遇到了一个奇怪的问题。这是我的代码:
DateFormat df = new SimpleDateFormat("M/d/yyyy h:mm:ss a");
df.setTimeZone(TimeZone.getTimeZone("gmt"));
String st = "1/1/1990 12:00:00 AM";
try {
Date dt = df.parse( st );
return dt;
} catch (ParseException e) {
return null;
}
它不断给出ParseException错误。我尝试了各种日期字符串组合,但仍然无法将它们转换为日期对象。
此外,我的字符串应包含UTC的日期+时间,因此要创建的新日期对象将采用UTC格式。
任何想法?
答案 0 :(得分:0)
您的异常,因为您解析的字符串与您格式化的格式不匹配,请将日期格式更改为如下所述。它总是值得推荐使用两位数的日期或时间格式。
DateFormat df = new SimpleDateFormat(“MM / dd / yyyy hh:mm:ss a”);
答案 1 :(得分:0)
尝试表示日期和两位数的数字“MM / dd / yyyy hh:mm:ss a”。我有这个代码,它对我来说很好:
SimpleDateFormat dfm = new SimpleDateFormat("yyyy-MM-dd");
try {
date=dfm.parse(datestring);;
} catch (ParseException e) {
e.printStackTrace();
}
答案 2 :(得分:0)
我想我已经追查过这个问题了。这是因为进口混乱。我删除了所有导入并使用了Eclipse的组织导入功能。现在它不再出错了。
我想知道之前导入的代码是否被lint接受了。我认为Java和Android都有两种不同的库来处理日期。现在我只有Java库用于约会。工作正常。
抱歉遇到麻烦的人。