如何传递日期格式对SimpleDateFormat的响应?
我得到日期甲酸反应像11:10 AM Thursday - March, 02 2017
。如何传递日期格式对SimpleDateFormat的响应?
我已经试过这样
String time = 11:10 AM Thursday - March, 02 2017
try {
Date cDate = new SimpleDateFormat("hh:mm aa EEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);
System.out.println(cDate);
Calendar cal = Calendar.getInstance();
cal.setTime(cDate);
cal.setTimeZone(TimeZone.getTimeZone("UTC"));
String monthName = new SimpleDateFormat("MMMM", Locale.ENGLISH).format(cal.getTime());
String day = new SimpleDateFormat("EEEE", Locale.ENGLISH).format(cal.getTime());
int year = Calendar.getInstance().get(Calendar.YEAR);
String date = new SimpleDateFormat("dd", Locale.ENGLISH).format(cal.getTime());
String hour = new SimpleDateFormat("hh", Locale.ENGLISH).format(cal.getTime());
String min = new SimpleDateFormat("mm", Locale.ENGLISH).format(cal.getTime());
String am_pm = new SimpleDateFormat("a", Locale.ENGLISH).format(cal.getTime());
}catch (Exception e){
e.printStackTrace();
}
而且走得异常说:
无法解析的日期: “11:10 AM星期四 - 三月,02 2017年”(偏移量9)
那么如何通过日期格式这样的字符串?
嗯,你只是错过了一个小的事情。
您使用的是像:
Date cDate = new SimpleDateFormat("hh:mm aa EEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);
相反,你需要使用这样的
Date cDate = new SimpleDateFormat("hh:mm aa EEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);
你错过了周四的一个额外的空间
谢谢你!你让我今天一整天都感觉很好。非常感谢。 –
@NiteshRathod ..如果这解决了你的问题,那么请接受这个答案 – curiousMind
你知道如何转换此日期星期五03三月02:24:21 GMT + 12:00 2017设备时间。 –
使用EEEE全名状
周四Date cDate = new SimpleDateFormat("hh:mm aa EEEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);
我已经尝试过了,但它说:无法解析的日期:“2017年2月12日12:17”(偏移量9) –
尝试使用'EEEE'代替'EEE'。我不确定它会起作用,但是因为'EEE'是为了缩短一周中的某一天(例如Tue) –