Изменить формат даты String и установить в TextView в Android?
Я хочу изменить формат даты в
String date ="29/07/13";
Но он показывает мне ошибку *Unparseable date: "29/07/2013"(смещение 2) * Я хочу получить дату в этом формате 29 июля 2013.
Вот мой код, который я использую, чтобы изменить формат.
tripDate = (TextView) findViewById(R.id.tripDate);
SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy");
try {
oneWayTripDate = df.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
tripDate.setText(oneWayTripDate.toString());
3 ответа
Решение
Попробуйте вот так:
String date ="29/07/13";
SimpleDateFormat input = new SimpleDateFormat("dd/MM/yy");
SimpleDateFormat output = new SimpleDateFormat("dd MMM yyyy");
try {
oneWayTripDate = input.parse(date); // parse input
tripDate.setText(output.format(oneWayTripDate)); // format output
} catch (ParseException e) {
e.printStackTrace();
}
Это двухэтапный процесс: сначала нужно проанализировать существующую строку в объекте Date. Затем вам нужно отформатировать объект Date в новую строку.
Измените строку формата на MM/dd/yyyy
, в то время как parse()
и использовать dd MMM yyyy
в то время как format()
,
Образец:
String str ="29/07/2013";
// parse the String "29/07/2013" to a java.util.Date object
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(str);
// format the java.util.Date object to the desired format
String formattedDate = new SimpleDateFormat("dd MMM yyyy").format(date);
DateFormat df = new SimpleDateFormat("dd / MM / yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());