采用SimpleDateFormat类的parse方法进行判断,如果转换不成功,就会出现异常。另外,还需要判断字符串的长度,若不判断,第二个字符串就会验证通过,实际上也不是合法的。话不多说,且看代码:

public static void main(String[] args) {
System.out.println(isValidDate("2020-12-12 14:30:20", null));//true
System.out.println(isValidDate("19-12-12 14:30:20", null));//false
System.out.println(isValidDate("2020/12/12 14:30:20", null));//false
System.out.println(isValidDate("2020-12-12 14:30", null));//false
} public static boolean isValidDate(String str, String format) {
if (format == null) {
format = "yyyy-MM-dd HH:mm:ss";
}
boolean convertSuccess = true;
// 指定日期格式
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
sdf.setLenient(false);
sdf.parse(str);
if (str.length() != format.length()) {
convertSuccess = false;
}
} catch (ParseException e) {
// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
convertSuccess = false;
}
return convertSuccess;
}

最新文章

  1. Eclipse Java class修改后的即时编译
  2. :before和 :after
  3. (转)深入理解javascript连续赋值表达式
  4. curl命令
  5. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
  6. 十大谷歌Google搜索技巧分享
  7. .Net程序跑在Linux上
  8. 触发器-Trigger
  9. 【IPC进程间通信之四】数据复制消息WM_COPYDATA
  10. JavaScript 基本类型值-Undefined、Null、Boolean
  11. HTTP请求的header头解析
  12. keystone系列三:网关协议
  13. vue不通过路由直接获取url中参数的方法示例
  14. NAT资料
  15. Tomcat、TongWeb5.0、TongWeb6.0部署solr
  16. Tensorflow-hub[例子解析2]
  17. Redis管道理解
  18. vue父组件向子组件动态传值的两种方法
  19. convert CAN frame
  20. 最全互联网Linux工作规划!

热门文章

  1. jdk 安装过程配置环境变量 error 的解决过程
  2. MySQL常用SQL语句2
  3. Codeforces Round #651 (Div. 2) A. Maximum GCD(数论)
  4. 洛谷P2241-统计方形-矩形内计算长方形和正方形的数量
  5. Python基础--核心数据类型
  6. OpenStack Train版-11.安装horizon服务(计算节点)
  7. 按层次顺序创建二叉树;判断BST
  8. 计组CPU设计实验关键材料和关键设计
  9. HDU 4649 Professor Tian(概率DP)题解
  10. MarkDown语法详解