Android 分析日期时出错:";不可剥夺的日期:“;Jue 28-05-2016 22:30“;(偏移量为0时)“;
我是Android新手,我想解析一个带有日期的字符串,将其转换为日历对象,然后将其发送到Android日历。我的字符串值是Jue 28-05-2015 22:30(Jue代表Jueves,西班牙语为星期四),我的代码如下所示: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("
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别担心:)