0

我正在使用 Android SDK 4.2 开发一个 Android 应用程序,并以 Android 2.2 为目标。

我得到这个例外:

java.text.ParseException:无法解析的日期:07/23/1975

这里:

try
{
    formatter = new SimpleDateFormat("MMddyyyy", Locale.US);
    convertedDate = (Date) formatter.parse(userBirthday);
}
catch (ParseException  ex)
{
    ex.printStackTrace();
    convertedDate = null;
}

什么时候userBirthday是 1975 年 7 月 23 日。

我究竟做错了什么?

4

4 回答 4

4

尝试这个:

formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US);

但是,请注意,世界上有很大比例的人认为用户的生日应该写成“23/07/1975”……或者别的什么。

您应该使用在语言环境中查找首选格式。查看文档中的静态getXxx(...)方法DateFormat。(如果这是在 Android 应用程序中,平台的默认语言环境可能是正确的。)

于 2013-07-13T05:59:22.213 回答
3

将格式更改为:

formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
于 2013-07-13T05:59:26.440 回答
1

formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US);

于 2013-07-13T06:30:06.997 回答
1

这里的解决方案:

try
{
    formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
    convertedDate = (Date) formatter.parse(userBirthday);
}
catch (ParseException  ex)
{
    ex.printStackTrace();
    convertedDate = null;
}
于 2013-07-13T06:49:50.453 回答