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学习粗略路线的方法

    java学习粗略路线的方法

    下面小编就为大家带来一篇java学习粗略路线的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Spring IOC容器使用详细讲解

    Spring IOC容器使用详细讲解

    IOC-Inversion of Control,即控制反转。它不是什么技术,而是一种设计思想。这篇文章将为大家介绍一下Spring控制反转IOC的原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-12-12
  • Java实现汉字转拼音的四种方案

    Java实现汉字转拼音的四种方案

    在Java开发中,处理中文拼音转换是常见却棘手的需求,无论是智能搜索、数据排序,还是拼音首字母检索,面对多音字、性能瓶颈、内存占用等问题,开发者该如何选择,今天分享四种工具应对不同场景,需要的朋友可以参考下
    2025-12-12
  • Java初学者必会的Map集合及其原理

    Java初学者必会的Map集合及其原理

    这篇文章主要给大家介绍Map集合及其原理,该集合中的信息是key-value形式,Map集合与Collection集合又有什么不同呢,要想搞清楚以上问题,下面跟着小编一起来看看吧
    2023-06-06
  • minio安装部署及使用的详细过程

    minio安装部署及使用的详细过程

    MinIO是一个基于Apache License v2.0开源协议的对象存储服务,下面这篇文章主要给大家介绍了关于minio安装部署及使用的详细过程,文中通过实例代码以及图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 浅谈spring boot使用thymeleaf版本的问题

    浅谈spring boot使用thymeleaf版本的问题

    这篇文章主要介绍了spring boot使用thymeleaf版本的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot+Docker+IDEA实现一键构建+推送、运行、同镜像多容器启动

    SpringBoot+Docker+IDEA实现一键构建+推送、运行、同镜像多容器启动

    这篇文章主要介绍了SpringBoot+Docker+IDEA实现一键构建+推送、运行、同镜像多容器启动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringSecurity解决POST方式下CSRF问题

    SpringSecurity解决POST方式下CSRF问题

    本文主要介绍了SpringSecurity解决POST方式下CSRF问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • JAVA如何获取客户端IP地址和MAC地址

    JAVA如何获取客户端IP地址和MAC地址

    本篇文章主要介绍了JAVA如何获取客户端IP地址和MAC地址非常具有实用价值,这里整理了详细的代码,需要的朋友可以参考下
    2017-08-08
  • 用Java8 stream处理数据

    用Java8 stream处理数据

    这篇文章主要介绍了用Java8 stream处理数据,Java 8 API的设计者重新提出了一个新的抽象称为流Stream,可以让我们以一种声明的方式处理数据,此外,数据流可以充分利用多核架构而无需编写多线程的一行代码,下面我们一起来看看文章详细介绍
    2021-11-11

最新评论