使用 js 写一个 yyyy-mm-dd hh:mm 正则验证
时间: 2024-05-11 11:16:47 浏览: 97
可以使用以下正则表达式进行验证:
```
/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/
```
其中,`\d` 表示数字,`{n}` 表示匹配 n 个前面的模式。所以 `\d{4}` 匹配4个数字,`\d{2}` 匹配2个数字。`-` 和 `:` 字符需要自己匹配。
使用例子:
```js
const pattern = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/;
const dateString = '2022-12-31 23:59';
if (pattern.test(dateString)) {
console.log('合法日期时间格式');
} else {
console.log('不合法日期时间格式');
}
```
相关问题
用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 对象按照默认格式转换为字符串输出。
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` 的形式。
最终返回格式化后的字符串。
阅读全文