java判断时间格式--格式必须为“YYYY-MM-dd”

createh53个月前 (02-01)技术教程17

java中的的日期格式为:

yyyy-MM-dd HH:mm:ss:代表将时间转换为24小时制,例: 2018-06-27 15:24:21

yyyy-MM-dd hh:mm:ss:代表将时间转换为12小时制,例: 2018-06-27 03:24:21

Oracle中的日期格式为:

yyyy-MM-dd HH24:mi:ss

yyyy-MM-dd HH:mi:ss,

分别代表oracle中的24小时制和12小时制


之所以 oracle和java不同,是因为oracle是不区分大小写的,所以java中根据大小写来代表24小时和12小时的表达式在oracle中就会出问题,oracle中将24小时的小时和分钟做了特殊处理.如上所示,在hh后面加上了24,将mm改为了mi,而一旦不注意取到的时间就会出问题!

/**
 * 判断时间格式 格式必须为“YYYY-MM-dd”
 * 2004-2-30 是无效的
 * 2003-2-29 是无效的
 * @param sDate
 * @return
 */
private static boolean isLegalDate(String sDate) {
    int legalLen = 10;
    if ((sDate == null) || (sDate.length() != legalLen)) {
        return false;
    }

    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    try {
        Date date = formatter.parse(sDate);
        return sDate.equals(formatter.format(date));
    } catch (Exception e) {
        return false;
    }
}

相关文章

Java中进制转换的基本知识(java中进制转换的基本知识有哪些)

在Java中,进制转换是一个常见的操作,尤其是在处理底层数据或进行特定算法时。以下是一些关于Java中进制转换的基本知识:1. 进制的基本概念十进制:我们日常使用的数字系统,由0-9这10个数字组成。...

「日常记录」java 忽略字母大小写判断相等

equalsIgnoreCase方法不考虑大小写字符串与指定的对象比较...

Java标识符和关键字(java标识符关键字题)

标识符Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。 标识符由数字(0~9)和字母(A~Z 和 a~z)、美元符...

JAVA | 第1期 - 关于泛型的内容回顾~

释义Java 泛型(generics)是 JDK 5 中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。什么是泛型,为什么要使用泛型?通俗地讲,泛型的本质...

Java 近期更新:OpenJDK JDK Jakarta EE Spring等

OpenJDKJEP 485流收集器已从候选提升为提议,并成为 JDK 24 的目标。此 JEP 提议在两轮预览之后完成此功能,即:JEP 473:流收集器(第二预览),在 JDK 23 中交付;以及...

Java 中操作字符串都有哪些类?它们之间有什么区别?

在Java中,用来执行字符串操作的类主要有如下一些,下面我们就来详细介绍一下吧!String 类 String类是在Java中被标记为不可变的(immutable)的类,也就是说字符串一旦被创建,那...