当前位置: 首页 > 面试题库 >

使用Java Date和SimpleDateFormat验证范围

史意致
2023-03-14
问题内容

大家好,我想知道在尝试使用以下代码解析日期时是否可以处理Date异常:

try{
   SimpleDateFormat df = new SimpleDateFormat("dd:MM:yyyy"); 
   Date date = df.parse(dateRelease);
}catch (ParseException e) {}

好吧,如果“ dateRelease”的格式类型不正确,则会引发ParseException,但我想知道是否有人写成“
40/03/2010”-错了日期,月份或年份的范围。实际上,当发送无效日期时,SimpleDateFormat只会使用默认数字创建一个新的Date。

我是否必须使用正则表达式创建我自己的方法来处理它,还是存在一个告诉我要捕获的异常?


问题答案:

您可以透过它不宽松SimpleDateFormat#setLenient()了一个数false

SimpleDateFormat df = new SimpleDateFormat("dd:MM:yyyy"); 
df.setLenient(false);
Date date = df.parse(dateRelease);

然后,ParseException当日期不在有效范围内时,它将引发。



 类似资料:
  • 我试图验证一个逗号分隔的数字列表1-384唯一(不重复)。 即。 1, 2, 3, 5, 6, 7, 9有效 1-3, 5-7, 9有效 2,2,6无效 2,无效 1, 2, 3, 4, 15, 6, 7, 385无效,因为最后一个数字大于384 我尝试了以下RegEx模式,但还不够:

  • 我有一个自定义验证器,用来确保在实体保存之前对其应用一些业务规则。 当父(Product)实体被更新(对于save,它工作得很好),以及子实体(列表中的一个或多个ProductPrice)中的一些更改时,它会失败,因为保存列表中ProductPrice的一个实例不知道下一步要保存的ProductPrice的任何信息。 详解: 假设对于给定的,DB中有两个行,如下所示: 假设我希望将作为实体一部分的

  • 如何为两个数字的范围设置验证。我想将第一个数字的最大值设置为第二个数字的值,将第二个数字的最小值设置为第一个numb的值。这是我的js代码: 和超文本标记语言: 请帮忙谢谢

  • 主要内容:标签属性,JSF验证整数范围实例标签用于验证特定范围内的长值。 以下代码显示如何使用标记 - 标签属性 属性 说明 minimum 在可选范围内最小长度值 maximum 在可选范围内最大长度值 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateIntRange,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml

  • 我正在用以下组件构建自己的证书链: 根证书是自签名证书,中间证书由根证书和用户由中间证书签名。 现在我想验证一个用户证书是否有其根证书的锚。 具有 验证是可以的。在下一步中,我将使用 验证结果显示 什么是错的?

  • 首先,我是Vaadin7的新手。当我发现BeanFieldGroup.class时,我正在尝试一些vaadin演示。正如我所看到的,这个类将一个字段绑定到一个bean属性。在bean中,使用验证约束注释对属性进行注释(JSR303)。在本例中,我的pom.xml包含hibernate验证器依赖项: 我创建了validationmessage.properties文件,并在其中放了一些消息(带有匈牙