SimpleDateFormat анализирует дату по-разному на некоторых устройствах Android

Я анализирую дату как:

public class Consts{
public static final SimpleDateFormat DATE_FORMATTER_WITHOUT_TIME_ZONE = new SimpleDateFormat(
            "yyyy-MM-dd HH:mm");
public static final SimpleDateFormat DATE_FORMATTER_2 = new SimpleDateFormat(
            "MM-dd-yyyy HH:mm:ss ZZZZ");
}

        cDate = new GregorianCalendar();
        sDate = new GregorianCalendar();
        eDate = new GregorianCalendar();

        if (mStartTimeTV.getText().toString().equals("Now")) {
            sDate.setTime(cDate.getTime());
        } else {
            sDate.setTime(Consts.DATE_FORMATTER_WITHOUT_TIME_ZONE
                    .parse(mStartTimeTV.getText().toString()));
        }

        if (!mEndTimeTV.getText().toString().equals("")) {
            eDate.setTime(Consts.DATE_FORMATTER_WITHOUT_TIME_ZONE
                    .parse(mEndTimeTV.getText().toString()));
        } else {
            eDate.setTime(sDate.getTime());
            // eDate = sDate;
        }

А затем я форматирую дату, как показано ниже, перед отправкой на сервер.

request.addProperty("StartTime",
                        Consts.DATE_FORMATTER_2.format(sDate.getTime()));
                request.addProperty("EndTime",
                        Consts.DATE_FORMATTER_2.format(eDate.getTime()));

Но дело в том, что на устройствах под управлением 4.1.2 дата отправляется в виде:

Start Date: 03-23-2015 21:17:20 +0500 End Date : 10-23-2015 21:15:00 +0500

который создает исключение на стороне сервера.

Но на других устройствах это отправляет даты как:

Start Date: 03-23-2015 21:12:13 GMT+05:00 End Date : 03-23-2015 21:16:00 GMT+05:00

что требуется.

Я делаю что-то неправильно? Как я могу предотвратить эту проблему, чтобы все устройства отправляли одинаковые даты. (например03-23-2015 21:16:00 GMT+05:00)

Ответы на вопрос(2)

Ваш ответ на вопрос