其他分享
首页 > 其他分享> > 日期格式化 之 一看就懂 一学就废

日期格式化 之 一看就懂 一学就废

作者:互联网

今天给大家分享一个格式化日期的函数,写代码的时候可以直接CV
代码如下:

const formatTime = date => {
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDay();
    const hour = date.getHours();
    const minute = date.getMinutes();
    const second = date.getSeconds();
    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : '0' + n
}

使如果想要对当前日期进行格式化可以使用

var d = new Date()
var e = d.getTime()
console.log(e);
console.log(d);
console.log(formatTime(d));

如果要对毫秒值进行格式化可以这样使用(一般用于后端传过来毫秒值然后前端进行指定格式的格式化):

var ee = new Date(1606508322667)
console.log(ee);

完整的代码如下:
在这里插入图片描述
运行结果如下:
在这里插入图片描述
如果对本段代码有不懂的地方那么我来讲解一下:
首先定义了一个函数,将函数赋值给了一个变量formatTime,然后再分别获取年月日时分秒,将数据获取后,在进行格式化,对于第20行代码,先将年月日三个数值合并为一个数组,在使用数组的map方法,对数组进行遍历,map数组接收一个函数,那么我们就要在定义一个函数formatNumber,这个函数的功能就是将数值长度不足两位的变为两位,对于第23行代码:它就是要把number类型的数值变为string类型,然后才可以使用n[1],不然n[1]就变成了undefined了,这个函数执行完,返回一个数组,然后再调用数组的join方法,按照指定格式进行拼接,变为一个字符串;后面对时分秒的操作也一样。
如果对于第24行代码不懂的话,看下面一段代码:

		var num = 333
        console.log(typeof num); //num
        console.log(num[1]); //undefined
        console.log('========================');
        var str = 'str'
        console.log(typeof str); //string
        console.log(str[1]); //t

不仅数组可以使用[]取值,字符串也可以哦!!!
如果觉得对你有帮助的话,点个赞呗!!!

标签:const,log,一学,console,var,日期,date,格式化
来源: https://blog.csdn.net/ksjdbdh/article/details/118861372