有谁知道格式化从 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);
你可以试试这个
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
您可以使用这个库,这将使日期/时间格式之间的转换变得相当容易https://github.com/novoda/NovodaTime
使用此函数,它将返回您提到的字符串。
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);
}