zl程序教程

您现在的位置是:首页 >  前端

当前栏目

js JavaScript vue 时间戳 转换 日期 YYYY-MM-DD hh:mm:ss 简洁写法

JavaScriptJSVue转换日期 时间 写法 简洁
2023-06-13 09:11:11 时间

大家好,又见面了,我是你们的朋友全栈君。

两种方法

方法一

  1. 使用两个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位拼接即可

方法二

  1. 使用常见的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://javaforall.cn/179221.html原文链接:https://javaforall.cn