java - 如何使用 java 中的日期 API 验证年份

标签 java

我写了一些验证日期的代码,但为什么它不验证年份? 请参阅 1234 不是有效年份,即使它没有给出错误。

try {
        SimpleDateFormat df = new java.text.SimpleDateFormat("MM/dd/yyyy");
        df.setLenient(false);
        Date date=df.parse("10/4/1234");
        System.out.println("date------->"+date);
    } catch (java.text.ParseException e) {
       e.printStackTrace();
    }

sql server 过程中出现错误:

SELECT @CONVERT_DATETIME = convert(datetime, @DB_DATE, 103);

SET @STORE_DB = CAST(((CAST(DATEDIFF(s,'1970-01-01',ltrim(rtrim(@CONVERT_DATETIME))) as bigint)) * 1000 - @GMT5) as varchar(MAX));

最佳答案

1234 当然是有效的年份。

如果您想要更多限制,可以使用 GregorianCalendar 来验证年份。 例如:

Calendar cal = GregorianCalendar.getInstance();
cal.setTime(myDate);
if (cal.get(Calendar.YEAR) < 1970) {
    throw new ParseException("Date under 1970 are not allowed!", 6);
}

关于java - 如何使用 java 中的日期 API 验证年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268784/

相关文章:

java - GridBagLayout:仅当我横向扩展 JFrame 时 JPanel 才会出现

java - mybatis ClassNotFoundException BuilderException TypeException

java - 如何使 RadioButton 看起来像 JavaFX 中的常规 Button

java - 不确定将逻辑循环放在哪里[java]

java - 按 ","分割字符串

java - Spring @Value 只使用默认值

java - 为什么 Set 接口(interface)上没有定义 replace() 方法?

java - 如何使用 archetype 创建 Maven 插件

java - Spring 作用域代理bean

java - 运行程序直到满足特定条件?