java检测一个字符串是否是时间格式

 更新时间:2026年03月19日 09:09:55   作者:刘大猫.  
这篇文章主要为大家详细介绍了一个Java方法isValidDate,用于验证字符串是否符合24小时制时间格式"HH:mm",文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

一、介绍

这段代码用于验证一个字符串是否符合"小时:分钟"(如"14:30")的24小时制时间格式,并严格校验小时和分钟的取值范围(00-23和00-59)。

二、代码

/**
*  检测一个字符串是否是时间格式,检测字符串是否符合"小时:分钟"的时间格式
   * @param str 请求字符串
   * @return 执行结果
   **/
public static boolean isValidDate(String str) {
    boolean convertSuccess = true;
    // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
    SimpleDateFormat format = new SimpleDateFormat("HH:mm");
    try {
        format.setLenient(false);
        format.parse(str);
    } catch (Exception e) {
        convertSuccess = false;
    }
    return convertSuccess;
}

三、方法补充

1.Java检测一个字符串是否是时间格式

功能说明:这是一个字符串格式验证工具方法,用于判断一个字符串是否符合指定的时间格式(HH:mm,即小时:分钟)。方法通过尝试解析字符串来验证其是否为有效的时间格式,并返回布尔值表示验证结果。

实现原理

  • 创建SimpleDateFormat对象:指定时间格式为"HH:mm"(24小时制的小时和分钟)
  • 设置严格模式:调用setLenient(false)禁用宽松解析,确保严格按格式验证
  • 尝试解析:调用parse(str)方法解析字符串
  • 异常处理:解析成功返回true,解析失败(抛出异常)返回false

实现代码

/**
*  检测一个字符串是否是时间格式
   * @param str 请求字符串
   * @author liudz
   * @date 2019/12/17
   * @return 执行结果
   **/
public static boolean isValidDate(String str) {
    boolean convertSuccess = true;
    // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
    SimpleDateFormat format = new SimpleDateFormat("HH:mm");
    try {
        format.setLenient(false);
        format.parse(str);
    } catch (Exception e) {
        convertSuccess = false;
    }
    return convertSuccess;
}

2.java 检测时间字符串格式

步骤1:导入所需的类库

在Java中,我们需要使用import关键字导入所需的类库,以便使用其中的方法和类。在这个例子中,我们需要导入java.util.regex.Patternjava.util.regex.Matcher类库。

import java.util.regex.Pattern;
import java.util.regex.Matcher;

步骤2:使用正则表达式检测时间字符串格式

接下来,我们需要编写一个方法来检测时间字符串格式。我们可以使用正则表达式来匹配时间字符串的格式。在下面的代码中,我们定义了一个方法checkTimeFormat,该方法接受一个时间字符串作为参数,并返回一个布尔值表示时间格式是否正确。

public boolean checkTimeFormat(String timeString) {
String pattern = "^\\d{2}:\\d{2}:\\d{2}$"; // 定义时间格式的正则表达式,例如 12:34:56
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(timeString);
return m.matches();
}

步骤3:返回检测结果

最后,我们可以编写一个简单的主函数来调用checkTimeFormat方法,并输出检测结果。

public static void main(String[] args) {
String timeString = "12:34:56";
YourClassName obj = new YourClassName();
boolean result = obj.checkTimeFormat(timeString);
if (result) {
System.out.println("时间格式正确!");
} else {
System.out.println("时间格式错误!");
}
}

通过以上步骤,你可以在Java中轻松地检测时间字符串的格式。

 到此这篇关于java检测一个字符串是否是时间格式的文章就介绍到这了,更多相关java检测字符串格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java面试必备之AQS阻塞队列和条件队列

    Java面试必备之AQS阻塞队列和条件队列

    我们大概知道AQS就是一个框架,把很多功能都给实现了(比如入队规则,唤醒节点中的线程等),我们如果要使用的话只需要实现其中的一些方法(比如tryAcquire等)就行了!这次主要说说AQS中阻塞队列的的入队规则还有条件变量,需要的朋友可以参考下
    2021-06-06
  • 关于Feign的覆写默认配置和Feign的日志

    关于Feign的覆写默认配置和Feign的日志

    这篇文章主要介绍了关于Feign的覆写默认配置和Feign的日志方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • IDEA远程部署调试Java应用程序的详细流程

    IDEA远程部署调试Java应用程序的详细流程

    这篇文章主要介绍了IDEA远程部署调试Java应用程序,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • JAVAEE项目结构以及并发随想

    JAVAEE项目结构以及并发随想

    每个代码里面的工具都是工具,API是你最需要理解的,哪个好,哪个不好,没有准确答案。 一切皆对象,对于Java来讲是纯粹的,代理是对象,反射是对象,对象是对象,基本数据类型不是对象。
    2016-04-04
  • SpringBoot整合FastJson过程解析

    SpringBoot整合FastJson过程解析

    这篇文章主要介绍了SpringBoot整合FastJson过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Spring Boot 中的 CommandLineRunner 原理及使用示例解析

    Spring Boot 中的 CommandLineRunner 原理及使用示例

    CommandLineRunner 是 Spring Boot 提供的一个非常有用的接口,可以帮助你在应用程序启动后执行初始化任务,本文通过多个示例详细介绍了如何在实际项目中使用 CommandLineRunner,感兴趣的朋友一起看看吧
    2025-04-04
  • Spring Boot延迟执行实现方法

    Spring Boot延迟执行实现方法

    本文介绍了在Spring Boot项目中延迟执行方法的实现,以及延迟执行下声明式事务和编程式事务的使用情况,感兴趣的朋友一起看看吧
    2020-12-12
  • Java%(取模运算)全面讲解

    Java%(取模运算)全面讲解

    这篇文章主要介绍了Java%(取模运算)全面讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 一文详解Spring中的HttpMessageNotReadableException异常处理

    一文详解Spring中的HttpMessageNotReadableException异常处理

    这篇文章主要为大家详细介绍了Spring中的HttpMessageNotReadableException异常,分析其产生的原因并通过实际代码示例展示如何有效地捕获和处理这一异常,感兴趣的可以了解下
    2025-02-02
  • 基于注解的组件扫描详解

    基于注解的组件扫描详解

    这篇文章主要介绍了基于注解的组件扫描详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论