所以我从方法中得到这个字符串:21\11\2016
我需要在反斜杠处拆分它。我试图用其他一些字符替换单个反斜杠,但它不起作用。我必须完成的总体任务是将字符串转换为LocalDate
。如果有人知道如何做,请分享。我在这里找不到任何可行的解决方案,这就是我再次提出的问题
我的方法:
String datum=getComponentDateTextField().getText();
// datum is "21\11\2016"
datum=datum.replaceAll("\\\\", ".");
String[] dates=datum.split(".");
LocalDate dPresent = this.getDate();
dPresent=dPresent.of(Integer.parseInt(dates[0]), Integer.parseInt(dates[1]), Integer.parseInt(dates[2]));
答案 0 :(得分:2)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy\\MM\\dd");
LocalDate dPresent = LocalDate.parse(datum, formatter);
答案 1 :(得分:0)
使用此方法...
String date = "21/11/2016";
String[] splitedDataFrmDate = date.split("\\/");
for(String data:splitedDataFrmDate)
{
System.out.println(data);
}
答案 2 :(得分:0)
调用此方法将字符串转换为Date而不是使用反斜杠拆分并使其复杂化。
示例:
java.util.Date result=Coverter.getDate("21/11/2016","dd/MM/yyyy");
public static Date getDate(String dateStr, String mask) throws LinkedException {
if (dateStr == null) {
return null;
}
try {
SimpleDateFormat format = new SimpleDateFormat(mask);
return format.parse(dateStr);
} catch (Exception e) {
}
}