java yyyy-mm-dd hh:mm:ss 正表表达式
时间: 2023-07-19 09:25:57 浏览: 166
可以使用以下正则表达式匹配符合 "yyyy-mm-dd hh:mm:ss" 格式的 Java 日期字符串:
```
^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
```
该正则表达式包含以下部分:
- `^`:匹配输入字符串的开头。
- `\d{4}`:匹配四个数字,表示年份。
- `-`:匹配一个短横线,表示日期分隔符。
- `\d{2}`:匹配两个数字,表示月份和日期。
- `-`:匹配一个短横线,表示日期分隔符。
- `\d{2}`:匹配两个数字,表示小时数。
- `:`:匹配一个冒号,表示时间分隔符。
- `\d{2}`:匹配两个数字,表示分钟数。
- `:`:匹配一个冒号,表示时间分隔符。
- `\d{2}`:匹配两个数字,表示秒数。
- `$`:匹配输入字符串的结尾。
相关问题
javascript时间转换成标准"yyyy-MM-dd HH:mm:ss"格式的函数 本地时间 代码最短 "yyyy-MM-dd HH:mm:ss"
以下是一个将JavaScript时间戳转换为本地标准日期格式(yyyy-MM-dd HH:mm:ss)的函数,代码最短:
```javascript
function formatDate(timestamp) {
return new Date(timestamp).toLocaleString().replace(/年|月/g, '-').replace(/日/g, ' ').replace(/[上下]午/g, '').replace(/(\d)(?=(\d{2})+(?!\d))/g, '$1:');
}
```
调用该函数时,传入一个JavaScript时间戳,函数将返回一个本地标准的日期格式字符串,例如:
```javascript
console.log(formatDate(1616090400000)); // 输出 "2021-3-18 19:20:00"
```
这个函数的实现方式是,先使用 `toLocaleString()` 将时间戳转换为本地标准日期格式,例如 `2021年3月18日 下午7:20:00`。然后,使用正则表达式和 `replace()` 方法对格式进行处理,包括:
- 将 `年` 和 `月` 替换为 `-`;
- 将 `日` 替换为空格;
- 将 `上午` 和 `下午` 替换为空字符串;
- 使用正则表达式和 `replace()` 方法将时间的小时、分钟和秒格式化为 `HH:mm:ss` 的形式。
最终返回格式化后的字符串。
用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 对象按照默认格式转换为字符串输出。
阅读全文