本文主要是介绍前端 日期 new Date 少0 转换成 yyyy-MM-dd js vue,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在console控制台直接输出new Date(),是这样:
Fri May 10 2024 23:36:06 GMT+0800 (中国标准时间)
输出new Date().toLocaleString(),是这样:
'2024/5/10 23:36:06'
输出new Date().toISOString(),是这样:
'2024-05-10T15:36:06.161Z'
输出new Date().toGMTString(),是这样:
'Fri, 10 May 2024 15:36:06 GMT'
输出new Date().toUTCString(),是这样:
'Fri, 10 May 2024 15:41:52 GMT'
ISO,GMT,UTC,都是0时区,只有Locale是当地时区,即服务器所在时区(我在东八区)。
但是LocaleString拿到的却是字符串2024/5/10 23:36:06。
所以利用getMonth,getDate,但由于个位是一位数字,所以需要在前面补充0。优雅写法如下:
//补充:date.getMonth() 0是1月,1是2月,以此类推。
function formatDateTime(date) {const year = date.getFullYear();const month = ('0' + (date.getMonth() + 1)).slice(-2);const day = ('0' + date.getDate()).slice(-2);const hours = ('0' + date.getHours()).slice(-2);const minutes = ('0' + date.getMinutes()).slice(-2);const seconds = ('0' + date.getSeconds()).slice(-2);return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}const date = new Date();
const formatDate = formatDateTime(date);
2、使用第三方库
也可以使用第三方库来格式化日期字符串,如 moment.js:
const moment = require('moment');const date = new Date();
const formatDateTime = moment(date).format('YYYY-MM-DD HH:mm:ss');
3、使用 ES6 的模板字符串法,即 ` 这个符号(键盘上数字1左边的符号):
const date = new Date();
const formatDateTime = `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${('0' + date.getDate()).slice(-2)} ${('0' + date.getHours()).slice(-2)}:${('0' + date.getMinutes()).slice(-2)}:${('0' + date.getSeconds()).slice(-2)}`;
这个符号,通常还会见到一种写法:虽然这样写会出现错误格式,但这只是更直观表达这种符号的写法,任何字符都可以直接写在 ` 这个符号里。就等同于是字符串
const formateDate = `${date.getFullYear()}-0${date.getMonth() + 1}-0${date.getDate}`
这篇关于前端 日期 new Date 少0 转换成 yyyy-MM-dd js vue的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!