我感到奇怪的是,Date在Java中创建对象的最明显的方法已被弃用,并且似乎已被使用宽大日历的不太明显的方法所“替代”。
如何检查以日,月和年的组合形式给出的日期是否为有效日期?
例如,2019-02-31(如yyyy-mm-dd)将是无效日期。
当前的方法是使用日历类。它具有setLenient方法,该方法将验证日期和引发异常,如果超出示例,则抛出异常。
忘记添加:如果你获得日历实例并使用日期设置时间,那么这就是获得验证的方式。
Calendar cal = Calendar.getInstance();
cal.setLenient(false);
cal.setTime(yourDate);
try {
cal.getTime();
}
catch (Exception e) {
System.out.println("Invalid date");
}
问题内容: 如何检查字符串是否包含以下格式的日期: 2012年1月15日,星期日,美国东部标准时间晚上7:36 我正在使用的数据包含大量字符串。但是我要查找的字符串类型包含一个2或3个单词名称和一个日期。我正在检查日期以识别这些类型的字符串。 我已经找到了这种日期的simpleDateFormat。 但是我不知道如何进一步进行。 我猜测正则表达式可能有效,但是当月/日名称的长度不同时,我不知道如何
问题内容: 我正在使用Java应用程序,该应用程序会在用户在命令行中输入的持续时间内生成报告。用户需要以以下格式输入日期:dd-MM-yyyy 例: java报告2013年1月1日至2013年3月31日 在代码中,我将日期保存在两个字符串中。我必须确保用户输入的开始日期应该早于结束日期。是否有内置函数可以通过将这两个字符串传递给它来帮助我实现这一目标? 问题答案: 您可以使用Date.before
问题内容: 我有一个Calendar实例,它是通过JAXB 的方法从XSD datetime解析的。 在运行时,我在Web服务中,我想知道原始的xsd日期时间是否有效(根据月… ect,月<12,日<31、30、29、28)。示例:这是一个有效日期:而不是: 我尝试在Web服务中的实例上使用,但是当原始日期错误时,它似乎没有引发异常。 有什么办法吗?我的猜测是告诉JAXB在文件中以正确的方式进行操
问题内容: 阅读本书中的 Exception时,我发现了以下语句: 被检查的异常由编译器在编译时检查。 和 编译器不会在编译时检查未经检查的异常。 因此,如果我们也可以说或 位于Checked Exceptions类树之下。如何将java编译器知道 会有 一个例外,没有对 其中 可能 仍然 代码为我的理解里面。 另外,强制捕获Checked异常而不是Unchecked意味着什么呢? 问题答案: J
问题内容: 考虑下面的类 问题在于上面的方法太长并且有很多 语句。我想到了一些重构,但是仍然不确定该怎么做。我在考虑类似连锁模式的东西。然后,我将实现几个检查器类,这些检查器类调用链中的下一个检查器,或者返回相应的。 但是后来我有了一个更好的主意(至少我是这样认为的):为什么表现得不像Java 8?我想用类似的- - -pattern。但是我不知道如何实现这一点。我在想类似的东西: 这个想法是:当
问题内容: 检查URL在Java中是否有效的最佳方法是什么? 如果试着拨打和赶上,但它似乎很乐意与任何开头。 我不关心建立连接,只是有效性。有办法吗?Hibernate Validator中的注释?我应该使用正则表达式吗? 编辑:和 URL的一些示例。 问题答案: 考虑使用Apache Commons UrlValidator类 有几个属性,您可以设置来控制如何类的行为,在默认情况下,和被接受。