Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 分析日期时出错:";不可剥夺的日期:“;Jue 28-05-2016 22:30“;(偏移量为0时)“;_Android_Date_Simpledateformat_Unparseable - Fatal编程技术网

Android 分析日期时出错:";不可剥夺的日期:“;Jue 28-05-2016 22:30“;(偏移量为0时)“;

Android 分析日期时出错:";不可剥夺的日期:“;Jue 28-05-2016 22:30“;(偏移量为0时)“;,android,date,simpledateformat,unparseable,Android,Date,Simpledateformat,Unparseable,我是Android新手,我想解析一个带有日期的字符串,将其转换为日历对象,然后将其发送到Android日历。我的字符串值是Jue 28-05-2015 22:30(Jue代表Jueves,西班牙语为星期四),我的代码如下所示: fechaevento = Calendar.getInstance(); beginTime ="Jue 28-05-2016 22:30" final SimpleDateFormat sdf = new SimpleDateFormat("

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

    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)

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

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

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