如何将日期格式响应传递给 SimpleDateFormat?
How to pass date format Response to SimpleDateFormat?
我正在收到 11:10 AM Thursday - March, 02 2017
之类的日期 Formate 响应。
我试过这样
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();
}
但它例外地说:
Unparseable date: "11:10 AM Thursday - March, 02 2017" (at offset 9)
那么像这样的字符串如何传递日期格式呢?
使用 EEEE 作为全名,例如 Thursday
Date cDate = new SimpleDateFormat("hh:mm aa EEEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);
好吧,你只是错过了一件小事。
您正在使用:
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);
你错过了星期四的额外 space
我正在收到 11:10 AM Thursday - March, 02 2017
之类的日期 Formate 响应。
我试过这样
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();
}
但它例外地说:
Unparseable date: "11:10 AM Thursday - March, 02 2017" (at offset 9)
那么像这样的字符串如何传递日期格式呢?
使用 EEEE 作为全名,例如 Thursday
Date cDate = new SimpleDateFormat("hh:mm aa EEEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);
好吧,你只是错过了一件小事。
您正在使用:
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);
你错过了星期四的额外 space