两种方法
方法一
使用两个api toLocaleDateString() 和 toTimeString() 加 正则表达式,简洁写法,推荐!
还可以更改为以 点(.) 连接 —— 正则表达式
代码
let newDate = new Date();
this.date = newDate.toLocaleDateString().replace(/\//g, "-") + " " + newDate.toTimeString().substr(0, 8);
结果
缺点
月份不能是 03的形式,而是 2021-3-21
除非自己再拼接一下
解析:
① toLocaleDateString() 方法
可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。
返回结果 2021/3/12 的形式
正则表达式 ///g 不加引号,g代表全局,不能用+ / 代表转义
toTimeString() 方法
可把 Date 对象的时间部分转换为字符串,并返回结果。
返回结果 14:45:03 GMT+0800 (中国标准时间) 截取前9位拼接即可
方法二
使用常见的Date中的函数,进行判断、拼接
代码
function formatDate(date) {
let myYear = date.getFullYear();
let myMonth = date.getMonth() + 1;
let myWeekday = date.getDate();
let myHour = date.getHours();
let myMinute = date.getMinutes();
let mySecond = date.getSeconds();
if (myMonth < 10) {
myMonth = '0' + myMonth;
}
if (myWeekday < 10) {
myWeekday = '0' + myWeekday;
}
if (myHour < 10) {
myHour = '0' + myHour;
}
if (myMinute < 10) {
myMinute = '0' + myMinute;
}
if (mySecond < 10) {
mySecond = '0' + mySecond;
}
return (`${
myYear}-${
myMonth}-${
myWeekday} ${
myHour}:${
myMinute}:${
mySecond}`);
}
console.log(formatDate(new Date()));
结果
解析
通过上面函数获得年月日时分秒,然后进行拼接,难点是getMonth记得+1(月份是从0开始)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/111670.html