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
)