我希望你们能在这方面帮助我。当我使用DatePicker时,我以“ EEE,MMM d,yyyy”格式显示日期。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
String strDate = new SimpleDateFormat("EEE, MMM d, yyyy").format(cal.getTime());
editTextStartDate.setText(strDate);
但是在设置日期之后,我将处理数据,并且我需要将数据格式化为“ dd / mm / yyyy”,以便我可以通过拆分使用它:
String startDate = editTextStartDate.getText().toString().trim();
if (!startDate.isEmpty()) {
String getTo[] = startDate.split("/");
getToDateYear = Integer.parseInt(getTo[2]);
getToDateMonth = Integer.parseInt(getTo[1]);
getToDateDay = Integer.parseInt(getTo[0]);
toTime.set(Calendar.YEAR, getToDateYear);
toTime.set(Calendar.MONTH, getToDateMonth-1);
toTime.set(Calendar.DAY_OF_MONTH, getToDateDay);
}
我这样做的最佳方法是什么?希望你们能帮助教我。谢谢你们!
答案 0 :(得分:0)
String strDate = new SimpleDateFormat("EEE, MMM d, yyyy").format(cal.getTime());
因此,您的 String getTo [] 将没有任何数组输出。
因此下面的“解决方案”将您的“日期”格式转换为如下的另一种格式:
SimpleDateFormat sourceDateFormat = new SimpleDateFormat("EEE, MMM d, yyyy");
Date sourceDate = null;
try {
sourceDate = sourceDateFormat.parse(startDate);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat targetFormat = new SimpleDateFormat("dd/MM/yyyy");
String targetdatevalue= targetFormat.format(sourceDate);
因此 targetdatevalue 将是您想要的输出。