dateTime ピッカーから返される日付をフォーマットする方法を知っている人はいますか?
以下が返されます 2012 年 1 月 1 日 2012 年 1 月 1 日が必要です
私は現在、日付を設定するために以下を持っています
date2.setText(new StringBuilder()
.append(mDay).append(mMonth + 1)
.append(mYear));
dateTime ピッカーから返される日付をフォーマットする方法を知っている人はいますか?
以下が返されます 2012 年 1 月 1 日 2012 年 1 月 1 日が必要です
私は現在、日付を設定するために以下を持っています
date2.setText(new StringBuilder()
.append(mDay).append(mMonth + 1)
.append(mYear));
SimpleDateFormatterを使用することをお勧めします。また、DatePicker
日、月、年の整数値が返されるため、カレンダーを使用して日付を作成する必要があります。
Calendar cal = Calendar.getInstance();
cal.set(year, month, day);
Date newDate = cal.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateString = formatter.format(newDate);
このライブラリを使用すると、日付/時刻形式間の変換がかなり簡単になりますhttps://github.com/novoda/NovodaTime
これを試すことができます
String mDate="";
String mMon="";
if(mDay<10)
mDate="0"+mDay;
if((mMonth+1)<10)
mMon="0"+(mMonth + 1);
date2.setText(new StringBuilder()
.append(mDate).append(mMon)
.append(mYear));
またはSimpleDateFormatを使用することもできます
この関数を使用すると、言及した文字列が返されます。
String create_date_string (Date time)
{
String date = "";
DateFormat outputFormatter = new SimpleDateFormat("dd/MM/yyyy HH mm ss ");
date = outputFormatter.format(time);
String date_tokens[] = date.split(" ");
return date_tokens[0];
}
それがあなたを助けることを願っています。
これを OnDateSetListener で使用します
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
Calendar calender = Calendar.getInstance();
calender.set(year, monthOfYear - 1, dayOfMonth);
String str = create_date_string(calender.getTime());
date2.setText(str);
}