es6 如何将new Date()时间转换成yyyy-MM-dd hh:mm:ss格式
时间: 2024-11-20 16:33:59 浏览: 24
在ES6中,你可以使用`toLocaleString()`方法结合一些选项来将`new Date()`对象的时间转换为`yyyy-MM-dd HH:mm:ss`格式。以下是一个例子:
```javascript
const now = new Date(); // 获取当前时间
const formattedDate = now.toLocaleString('yyyy-MM-dd HH:mm:ss', { timeZone: 'Asia/Shanghai' }); // 指定时区
console.log(formattedDate);
```
在这个示例中,`toLocaleString()`方法接受两个参数:第一个参数是语言区域设置(这里使用通用的ISO标准格式,如'yyyy-MM-dd HH:mm:ss'),第二个参数是一个选项对象,可以调整日期和时间的显示方式,包括时区。如果不需要指定特定时区,可以去掉`timeZone`属性。
如果你想自定义日期和时间的部分,也可以使用正则表达式替换格式化后的字符串:
```javascript
const dateStr = now.toLocaleString('en-US', { timeZone: 'UTC' }).replace(/(\d{4})-(\d{2})-(\d{2}) ([^ ]+) (\d{2}):(\d{2}):(\d{2})/, '$1-$2-$3 $4:$5:$6'); // 替换为yyyy-MM-dd HH:mm:ss格式
```
这行代码首先获取默认的格式,然后使用`replace()`方法替换符合预期格式的部分。
阅读全文