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

2022-09-27 10:51:38 浏览数 (1)

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

两种方法

方法一
  1. 使用两个api toLocaleDateString()toTimeString()正则表达式,简洁写法,推荐! 还可以更改为以 点(.) 连接 —— 正则表达式
代码
代码语言:javascript复制
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中的函数,进行判断、拼接

代码

代码语言:javascript复制
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

0 人点赞