我设置了一个AlertDialog.builder,其中有一个输入,用于从用户那里获取日期。目前设置为:
input.setInputType(InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_NORMAL);
我想要的不仅仅是用户必须在其上写的整行。我想要一个像
的东西
输入:__ / __ / ____
用户必须完成
的地方
输入:18/04/2018
然后我将整个内容作为字符串获取:“ 18-04-2018”
我该怎么办?
答案 0 :(得分:1)
您可以将字符串解析为LocalDate
,然后格式化为所需的格式,也可以将/
替换为-
:
String input = "18/04/2018";
String outPut;
// first approach
LocalDate localDate = LocalDate.parse(input, DateTimeFormatter.ofPattern("dd/MM/yyyy"));
outPut = localDate.format(DateTimeFormatter.ofPattern("dd-MM-yyyy"));
// second approach
outPut = input.replaceAll("/", "-");
答案 1 :(得分:0)
您必须使用SimpleDateFormat
,它将更改日期格式。看看这个
public static String changeDateToTimeStamp(String date){
DateFormat inputFormat = new SimpleDateFormat("dd/mm/yyyy");
DateFormat outputFormat = new SimpleDateFormat("dd-mm-yyyy");
Date date1 = null;
try {
date1 = inputFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return outputFormat.format(date1);
}
此方法将返回日期,例如“ 18-04-2018"
。希望对您有帮助!