【问题标题】:Error to parse date: "Unparseable date: "Jue 28-05-2016 22:30" (at offset 0)"解析日期错误:“无法解析的日期:”Jue 28-05-2016 22:30“(偏移量 0)”
【发布时间】:2015-10-31 09:11:37
【问题描述】:

我是 Android 新手,我想解析一个带有日期的字符串以将其转换为日历对象,然后将其发送到 Android 日历。我的字符串值为 Jue 28-05-2015 22:30(Jue for Jueves,thursday in spanish),我的代码如下所示:

    fechaevento = Calendar.getInstance();
    beginTime ="Jue 28-05-2016 22:30" 
    final SimpleDateFormat sdf = new SimpleDateFormat("EEE dd-MM-yyyy kk:mm");

    btnCalendar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            try {
                fechaevento.setTime(sdf.parse(beginTime));
                Intent intent = new Intent(Intent.ACTION_INSERT)
                        .setData(CalendarContract.Events.CONTENT_URI)
                        .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, fechaevento.getTimeInMillis())
                        .putExtra(CalendarContract.Events.TITLE, nameEvento.getText().toString())
                        .putExtra(CalendarContract.Events.DESCRIPTION, descriptionEvento.getText().toString());
                startActivity(intent);
            } catch (ParseException e) {
                //e.printStackTrace();
                Log.i("FECHA_M", e.getMessage());
            }
        }
    });

当我尝试运行它时,出现错误:无法解析的日期:“Jue 28-05-2016 22:30”(偏移量 0)

【问题讨论】:

  • 这对我来说似乎是一个语言环境问题。你也确定你的格式中的“kk”吗?
  • @RC.:kk 模式表示 24 小时制中的一天中的小时。如果您使用hh,那么您会得到一个 12 小时制的时钟,并且您需要在模式中的某处使用 AM/PM 字段。 (TIL:Javadocs 将 kk 模式指定为 [1-24] 范围内的一个值,其中 [0-23] 对使用 24 小时表示法的语言环境中的人来说更有意义。Java 的日期/时间我想支持可能会使用另一种不正确的边缘情况)
  • 我知道“kk”是什么意思,只是第一次看到,所以很奇怪;这里我们使用00:10 表示午夜十点(我们使用 24 小时制)
  • @RC。对不起,我没有从你的评论中意识到你知道。我不是故意居高临下的。
  • @Barend 不用担心 :)

标签: android date simpledateformat unparseable


【解决方案1】:

将西班牙语区域设置传递给您的日期格式化程序:

final SimpleDateFormat sdf = 
    new SimpleDateFormat("EEE dd-MM-yyyy kk:mm", new Locale("es"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    相关资源
    最近更新 更多