web-dev-qa-db-ja.com

文字列の日付形式を変更し、AndroidでTextViewに設定しますか?

次のような日付形式を変更したい

String date ="29/07/13";

しかし、それは私に*Unparseable date: "29/07/2013"(オフセット2)*この形式で日付を取得したい2013年7月29日。

これが私がフォーマットを変更するために使用している私のコードです。

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());
10
Developer

このようにしてみてください:

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

これは2段階のプロセスです。最初に既存の文字列を解析してDateオブジェクトにする必要があります。次に、Dateオブジェクトを新しい文字列にフォーマットする必要があります。

30
Ken Wolf

フォーマット文字列を_MM/dd/yyyy_ while parse()に変更し、_dd MMM yyyy_ while 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);
_
8
NINCOMPOOP
DateFormat df = new SimpleDateFormat("dd / MM / yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());
0
DEEP ADHIYA