Java验证时间格式是否正确方法类项目实战
作者:码奴生来只知道前进~ 发布时间:2021-05-30 02:15:15
标签:Java,时间格式
在很多场景中我们需要验证时间日期的是否属于正确的格式,验证时间是否符合常规的。
1、验证 yyyy-MM-dd HH:mm:dd 格式的日期
String date = "2020-01-25 12:36:45";
System.out.println("date "+isLegalDate(date.length(),date,"yyyy-MM-dd HH:mm:ss"));
2、验证 yyyy-MM-dd 格式的日期
String yearMonthday = "2020-01-01";
System.out.println("yearMonthday: "+isLegalDate(yearMonthday.length(),yearMonthday,"yyyy-MM-dd"));
3、验证 yyyy-MM 格式的日期
String yearMonth = "2020-02";
System.out.println("yearMonth: "+isLegalDate(yearMonth.length(),yearMonth,"yyyy-MM"));
4、验证 yyyy 格式的日期
String year = "2020";
System.out.println("year: "+isLegalDate(year.length(),year,"yyyy"));
5、验证 HH:mm:ss 格式的日期
String hms = "12:36:89";
System.out.println("hms: "+isLegalDate(hms.length(),hms,"HH:mm:ss"));
6、下面是一个完整的方法类直接运行就可以实现验证日期格式是否正确的
package com.shucha.deveiface.biz.test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author tqf
* @Description 时间格式校验
* @Version 1.0
* @since 2020-09-15 16:49
*/
public class IsLegalDate {
public static void main(String[] args) {
//1、验证 yyyy-MM-dd HH:mm:dd 格式的日期
String date = "2020-01-25 12:36:45";
System.out.println("date "+isLegalDate(date.length(),date,"yyyy-MM-dd HH:mm:ss"));
//2、验证 yyyy-MM-dd 格式的日期
String yearMonthday = "2020-01-01";
System.out.println("yearMonthday: "+isLegalDate(yearMonthday.length(),yearMonthday,"yyyy-MM-dd"));
//3、验证 yyyy-MM 格式的日期
String yearMonth = "2020-02";
System.out.println("yearMonth: "+isLegalDate(yearMonth.length(),yearMonth,"yyyy-MM"));
//4、验证 yyyy 格式的日期
String year = "2020";
System.out.println("year: "+isLegalDate(year.length(),year,"yyyy"));
//5、验证 HH:mm:ss 格式的日期
String hms = "12:36:89";
System.out.println("hms: "+isLegalDate(hms.length(),hms,"HH:mm:ss"));
}
/**
* 根据时间 和时间格式 校验是否正确
* @param length 校验的长度
* @param sDate 校验的日期
* @param format 校验的格式
* @return
*/
public static boolean isLegalDate(int length, String sDate,String format) {
int legalLen = length;
if ((sDate == null) || (sDate.length() != legalLen)) {
return false;
}
DateFormat formatter = new SimpleDateFormat(format);
try {
Date date = formatter.parse(sDate);
return sDate.equals(formatter.format(date));
} catch (Exception e) {
return false;
}
}
}
下面是一个时间验证之后的截图
来源:https://blog.csdn.net/tanqingfu1/article/details/108615705


猜你喜欢
- 一、insert1.插入操作public class CRUDTests { @Autowired
- 自用项目中统一Eclipse格式化Java、JavaScript、JSP、HTML代码设置1.Window->Preferences
- 最近在写一个小项目,其中有一点用到了显示EditText中输入了多少个字符,像微博中显示剩余多少字符的功能。在EditText提供了一个方法
- 1、接口:一种把类抽象的更彻底,接口里只能包含抽象方法的“特殊类”。接口不关心类的内部状态数据,定义的是一批类所遵守的规范。(它只规定这批类
- 实现功能:模拟简单登录功能,登录成功跳转新页面,登录失败在原登录界面提示登录失败信息开发环境:eclipseTomcat-8.0预备知识:H
- List和 java 中的 list 几乎一致;getOrElse 取出对应索引,如果该索引不存在或者为 null,就返回一个 lambda
- Spring P标签的使用Spring的p标签是基于XML Schema的配置方式,目的是为了简化配置方式。由于Spring的p标签是spr
- mybatis官网中文文档:https://mybatis.org/mybatis-3/zh/sqlmap-xml.htmlmybatis-
- 前言开发传统Java WEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了。SpringBoot支持如
- 我们有一个TextView,其里面的内容是可以通过代码动态改变的,我们想用一张图片作为TextView的背景,实现类似于手机QQ对话中的气泡
- 本文实例为大家分享了Android实现3D层叠式卡片图片展示的具体代码,供大家参考,具体内容如下先看效果好了效果看了,感兴趣的往下看哦!整体
- 目录前言演示效果:实现步骤:核心点:总结前言流布局在在项目中还是会时不时地用到的,比如在搜索历史记录,分类,热门词语等可用标签来显示的,都可
- 前言一直用C#开发程序,.NET的功能越来越多,变化也挺大的,从最初的封闭,到现在的开源,功能不断的增加,一直在进步。下面就来给大家详细介绍
- TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[
- Process类的作用是对系统进程进行管理,我们使用Process类中的一些方法结合Winform开发个简单的进程管理器: 在使用Proce
- 一、概述一个Process组件提供了在计算机运行进程的访问权限。 进程,在最简单的术语中,是正在运行的应用。提供对本地和远程进程的访问权限并
- 本文实例为大家分享了java实现客房管理系统的具体代码,供大家参考,具体内容如下AddClient.javaimport java.awt.
- 本文记录刚接触Android开发搭建环境后新建工程各种可能的报错,并亲身经历漫长的解决过程(╥╯^╰╥),寻找各种偏方,避免大家采坑,希望能
- 本文实例讲述了C#自定义类型强制转换的用法。分享给大家供大家参考。具体分析如下:先来举一个小例子类定义:public class MyCur
- 目录无SpringMVC全局异常时的流程图SpringMVC全局异常流程图其实是一个ModelAndView对象配置文件applicatio