3 回答
TA贡献1890条经验 获得超9个赞
你可以这样做:
import java.text.SimpleDateFormat;
import java.util.*;
class Main {
public static void main(String[] args) throws Exception {
System.out.println("dd-mm-yyyy");
Scanner scanner = new Scanner(System.in);
String date = scanner.nextLine();
Date date1=new SimpleDateFormat("dd-MM-yyyy").parse(date);
System.out.println(date1);
}
}
TA贡献1803条经验 获得超6个赞
不能有两个同名的变量。此外,日期未在任何地方定义。最后一行应该是这样的 Date date = format.parse(regDate)
:
TA贡献1811条经验 获得超6个赞
这是一个具有适当异常处理的非常小的示例:
public class DateInputTest implements Closeable {
private static final String DATE_FORMAT = "yyyy-MM-dd";
private final Scanner scanner;
public DateInputTest() {
this.scanner = new Scanner(System.in);
}
public LocalDate getDateInput() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_FORMAT);
String line = scanner.nextLine();
try {
return LocalDate.parse(line, formatter);
} catch (Exception e) {
System.err.println("Invalid date value:: " + line);
}
return null;
}
@Override
public void close() throws IOException {
scanner.close();
}
public static void main(String... args) {
DateInputTest test = new DateInputTest();
System.out.print("Please input a date [pattern yyyy-MM-dd]: ");
Optional.ofNullable(test.getDateInput()).ifPresent(System.out::println);
}
}
添加回答
举报