正则判断时间格式是否正确,格式为【yyyy-MM-dd hh:mm:ss】
时间: 2023-06-01 17:05:51 浏览: 289
可以使用正则表达式进行时间格式的校验,正则表达式为:\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},其中\d表示数字,{}中的数字表示对应的位数。使用该正则表达式可以判断时间格式是否正确,如果不正确则无法通过校验。
相关问题
用jdk1.8的方法判断字符串是否是yyyy-MM-dd HH:mm:ss还是yyyy-MM-dd HH:mm 都统一转成yyyy-MM-dd HH:mm
可以使用正则表达式来判断字符串是否符合指定的格式。具体实现如下:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) {
String pattern = "yyyy-MM-dd HH:mm";
String dateString = "2022-01-01 12:00:00";
// 判断字符串是否符合 yyyy-MM-dd HH:mm:ss 格式
if (dateString.matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}")) {
pattern = "yyyy-MM-dd HH:mm:ss";
}
SimpleDateFormat inputFormat = new SimpleDateFormat(pattern);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
Date date = inputFormat.parse(dateString);
String outputString = outputFormat.format(date);
System.out.println(outputString);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
```
首先定义默认格式为 yyyy-MM-dd HH:mm,然后判断字符串是否符合 yyyy-MM-dd HH:mm:ss 格式,如果符合则更新格式为 yyyy-MM-dd HH:mm:ss。
接着使用 SimpleDateFormat 类将字符串解析为 Date 对象,再将 Date 对象按照默认格式转换为字符串输出。
正则表达式判断String reportDate是否为yyyy-MM-dd HH:mm:ss格式
正则表达式可以用来验证给定的字符串 `reportDate` 是否符合 `yyyy-MM-dd HH:mm:ss` 的日期时间格式。这种匹配通常涉及查找特定模式,例如四位数的年份、两位数的月份、两位数的日、小时、分钟和秒。以下是一个简单的Java中使用正则表达式的示例:
```java
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main {
public static void main(String[] args) {
String reportDate = "2023-04-01 15:30:00";
String regexPattern = "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$"; // 匹配规则
Pattern pattern = Pattern.compile(regexPattern);
Matcher matcher = pattern.matcher(reportDate);
if (matcher.matches()) {
System.out.println("报告日期格式有效");
} else {
System.out.println("报告日期格式无效");
}
}
}
```
在这个例子中,`^` 和 `$` 表示字符串的开始和结束,`\d` 是数字字符的别名,`{n}` 表示前面的字符重复 n 次。
阅读全文