java - java中不可解析的日期异常

标签 java android datetime date

这几行代码

SimpleDateFormat formatter = new SimpleDateFormat("dd/mm/yy"); 

     ContentValues values = new ContentValues();
        values.put(COL_EVENT_ID, appointment.mEventId);
        try {
            values.put(COL_START_DATE, String.valueOf(formatter.parse(appointment.mStartDate.toString())));
            values.put(COL_END_DATE, String.valueOf(formatter.parse(appointment.mEndDate.toString())));

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

导致此异常

10-15 11:44:38.150: WARN/System.err(3861): java.text.ParseException: Unparseable date: "Mon Jan 10 00:10:00 GMT+02:00 2011"

可能的解决方案是什么?

最佳答案

你的格式完全错误。当您可能指的是 MM 时,您不仅使用了 mm(表示分钟),而且这样:

Mon Jan 10 00:10:00 GMT+02:00 2011

显然格式

dd/MM/yy

你可能想要类似的东西

EEE MMM dd HH:mm:ss z yyyy

编辑:这在桌面 Java 中对我有用:

import java.text.*;

public class Test {

    public static void main(String[] args) throws ParseException {
        String value = "Mon Jan 10 00:10:00 GMT+02:00 2011";
        String pattern = "EEE MMM dd HH:mm:ss z yyyy";
        DateFormat format = new SimpleDateFormat(pattern);
        System.out.println(format.parse(value));
    }
}

当然,您可能想要设置 SimpleDateFormat 的区域性。

关于java - java中不可解析的日期异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777075/

相关文章:

c# - 无法表示的日期时间

java - Java 反射的更快替代方案

java - JasperReports 神秘的收获值

java - 从非网络 intellij 项目为 Tomcat 制作 .war 文件

Android,我的服务无法启动

android - 为 Android 构建 tesseract 时出错

android - 我如何在 AsyncTask 中从 onPostExecute 发回数据?

java - 线程联网导致空指针异常

javascript - 如何从日期字符串中获取日期(2 位数字)

python - 在 python 中执行 get_dummy 时,每个日期仅保留一行