java - 如何验证字符串到日历输入?

标签 java string validation calendar

这是我第一次在 stackoverflow 上发帖。我需要一些帮助来验证从 String 到 Calendar 的用户输入。

例如,如果用户输入诸如“1”或“hi”之类的内容。我如何验证并提示用户输入 DDMMYYYY 格式的错误消息(类似于 04 02 2015)

System.out.print("Enter Date (DD MM YYYY): ");
          input.nextLine();
          String pickUpDate = input.nextLine();
          Calendar pd = stringToCalendarConverter(pickUpDate);

public static Calendar stringToCalendarConverter(String stringToCal) //Converts String to Calendar
{
   try 
   {
     DateFormat df = new SimpleDateFormat("dd MM yyyy"); 
     Date date = df.parse(stringToCal);
     Calendar calendar = new GregorianCalendar();
     calendar.setTime(date);  
     return calendar;
  }
  catch (ParseException n) 
  {
     return null;
  }      

最佳答案

调用DateFormat.setLenient(boolean)上面说(部分)通过严格解析,输入必须匹配此对象的格式。 类似于,

DateFormat df = new SimpleDateFormat("dd MM yyyy"); 
df.setLenient(false);

然后在循环中调用您的方法(在 null 上重新提示日期)

Calendar pd = null;
while (pd == null) {
    System.out.print("Enter Date (DD MM YYYY): ");
    input.nextLine();
    String pickUpDate = input.nextLine();
    pd = stringToCalendarConverter(pickUpDate);
}

关于java - 如何验证字符串到日历输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28314209/

相关文章:

java - 字符串替换函数

c - 分割字符串函数的段错误

html - 如何使用 Selenium 测试是否为必填字段触发了 HTML5 验证?

validation - 使用 ASP.NET MVC 和数据注释验证模型的一部分

java - 如何让 Java/Spring MVC 返回基于 jsonapi.org ID 的格式?

java - inetAddress 可以与 inet6/IPv6 一起使用吗?

java - 用于存储玩家保存的文件的良好文件格式是什么?

python - 点符号字符串操作

java - 结果未显示,日期验证

java - 如何在 Java 中搜索多行并行文本?