0

我正在使用 Eclipse 和 android 版本作为 API-15 (ICS) 开发一个 android 应用程序。

我在将字符串解析为日期对象时遇到了一个奇怪的问题。这是我的代码:

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。

有什么想法吗?

4

3 回答 3

0

您遇到异常,因为您解析的字符串与您格式化的格式不匹配,请将日期格式更改为如下所述。始终建议使用两位数的日期或时间格式。

DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");

于 2012-10-28T06:32:26.690 回答
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();
                    }
于 2012-10-28T06:36:44.137 回答
0

我想我已经追踪了这个问题。这是因为进口混乱。我删除了所有导入并使用了 Eclipse 的组织导入功能。现在它不再给出错误。

我想知道之前导入了什么代码被 lint 接受了。我认为 Java 和 Android 有两个不同的库用于处理日期。现在我只得到了日期的 Java 库。工作正常。

麻烦各位了。

于 2012-10-28T06:49:46.803 回答