如何将日期格式响应传递给SimpleDateFormat?

时间:2017-03-02 07:19:51

标签: android simpledateformat date-format date-formatting

我正在获得像11:10 AM Thursday - March, 02 2017一样的约会囚犯回复。

我试过这样的

 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();
                }

但它有异常说法:

  

无法解释日期:“2017年3月2日星期四至2017年3月1日上午11点10分”(偏移9点)

那么如何像这个String一样传递Date Format?

2 个答案:

答案 0 :(得分:1)

嗯,你错过了一件小事。

你正在使用:

$data = (array) json_decode($HTTP_RAW_POST_DATA, true);
var_dump($data);

相反,你需要像这样使用

$arJson =(array) json_decode( $_POST, true );
var_dump($arJson); 

你错过了星期四的额外空间

答案 1 :(得分:0)

使用EEEE作为全名,如周四

Date cDate = new SimpleDateFormat("hh:mm aa EEEE - MMM, dd yyyy", Locale.ENGLISH).parse(time);