JS 时间戳转换、获取当前时间年月日、时间戳转日期时间 (自定义格式)等方法整理

简介: JS 时间戳转换、获取当前时间年月日、时间戳转日期时间 (自定义格式)等方法整理
学习过程中将笔记整理跟大家分享,希望对大家也有所帮助,共同成长进步💪~
如果大家喜欢,可以点赞或留言💕 ~~,谢谢大家⭐️⭐️⭐️~
文章首发于 https://juejin.cn/post/7017611036526116900

1.时间戳转换(10位数)/(13位)

//时间戳13位
formatDate: function (time) {//时间戳转日期
    let date = new Date(time);
    let y = date.getFullYear();
    let MM = date.getMonth() + 1;
    MM = MM < 10 ? ('0' + MM) : MM;
    let d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    let h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    let m = date.getMinutes();
    m = m < 10 ? ('0' + m) : m;
    let s = date.getSeconds();
    s = s < 10 ? ('0' + s) : s;
    return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
    // return y + '-' + MM + '-' + d;
},
//时间戳10位
formatDate: function (time) {//时间戳转日期
    let date = new Date(parseInt(time) * 1000);
    let y = date.getFullYear();
    let MM = date.getMonth() + 1;
    MM = MM < 10 ? ('0' + MM) : MM;
    let d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    let h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    let m = date.getMinutes();
    m = m < 10 ? ('0' + m) : m;
    let s = date.getSeconds();
    s = s < 10 ? ('0' + s) : s;
    return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
    // return y + '-' + MM + '-' + d;
},

2.时间戳转日期时间 (可自定义返回格式)

这里使用的JavaScript函数库jutils的formatDate函数,引用地址jutils附上:
<script src="https://cdn.jsdelivr.net/npm/jutils-src"></script>

function formatDate(data,formatstr){
    var arrweek=["日","一","二","三","四","五","六"];
    var str=formatstr.replace(/yyyy|YYYY/,date.getFullYear()).replace(/yy|YY/,
    $addZero(date.getFullYear() % 100,2)).replace(/mm|MM/,$addZero(date.getMonth() + 1,
    2)).replace(/m|M/g,date.getMonth() + 1).replace(/dd|DD/,$addZero(date.getDate(),2)).replace(/d|D/g,
    date.getDate()).replace(/hh|HH/,$addZero(date.getHours(),2)).replace(/h|H/g,
    date.getHours()).replace(/ii|II/,$addZero(date.getMinutes(),2)).replace(/i|I/g,
    date.getMinutes()).replace(/ss|SS/,$addZero(date.getSeconds(),2)).replace(/s|S/g,
    date.getSeconds()).replace(/w|g/,$addZero(date.getDay(),2)).replace(/W/g,arrweek[date.getDay()]);
    return str;
}
function $addZero(v,size){
  for(var i=0,len=size-(v+"").length;i<len;i++){
    v="0"+v;
  }
  return v+""
}

使用示例

// 年、月、日、时、分、秒
var date = jutils.formatDate(new Date(1634002035*1000),"YYYY-MM-DD HH:ii:ss");
// 2021-10-12 09:27:15

//年、月、日、周
var date = jutils.formatDate(new Date(1634002035*1000),"YYYY-MM-DD 周W");
//2021-10-12 周二

//时、分、秒
var date = jutils.formatDate(new Date(1634002035*1000),"HH:ii:ss");
//09:27:15

3.获取当前时间戳的方法

var times = Date.parse(new Date());//不推荐使用,因为毫秒级别的数值被转化为000 ,不准确!

var times = (new Date()).valueOf();//获取当前毫秒的时间戳,准确!

var times = new Date().getTime();//返回数值单位是毫秒;

4.时间转时间戳毫秒方法

(new Date(this.zzsj)).getTime()   //getTime()返回数值的单位是毫秒   

5.时间转换成时间戳

Date.parse()//转时间戳

6.获取当前的年月日

getDatetime(){
    //获取当前的年月日
    let date_ = new Date();
    let seperator1 = "-";
    let year = date_.getFullYear();
    let month = date_.getMonth() + 1;
    let strDate = date_.getDate();
}

7.获取当前星期几

getDatetime(){
    //获取当前星期几
    let date_ = new Date();
    let days = date_.getDay();
    switch(days) {
        case 1:
            days = '星期一';
            break;
        case 2:
            days = '星期二';
            break;
        case 3:
            days = '星期三';
            break;
        case 4:
            days = '星期四';
            break;
        case 5:
            days = '星期五';
            break;
        case 6:
            days = '星期六';
            break;
        case 0:
            days = '星期日';
            break;
    }
    this.days = days;
}

8.Js获取当前日期时间及其它操作

var Date = new Date();
Date.getYear();        //获取当前年份(2位)
Date.getFullYear();    //获取完整的年份(4位,1970-????)
Date.getMonth();       //获取当前月份(0-11,0代表1月)
Date.getDate();        //获取当前日(1-31)
Date.getDay();         //获取当前星期X(0-6,0代表星期天)
Date.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
Date.getHours();       //获取当前小时数(0-23)
Date.getMinutes();     //获取当前分钟数(0-59)
Date.getSeconds();     //获取当前秒数(0-59)
Date.getMilliseconds();    //获取当前毫秒数(0-999)
Date.toLocaleDateString();     //获取当前日期
var time=Date.toLocaleTimeString();     //获取当前时间
Date.toLocaleString( );        //获取日期与时间
目录
相关文章
|
16天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
1天前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
|
15天前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
15天前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
4天前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
|
15天前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
34 7
|
16天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
JSON JavaScript 前端开发
JavaScript的自定义对象
JavaScript的自定义对象
|
6月前
|
存储 JavaScript 前端开发
JavaScript 自定义对象 及 new()原理与实现 如何完整地手写实现new
JavaScript 自定义对象 及 new()原理与实现 如何完整地手写实现new
190 0
|
存储 JavaScript 前端开发
JavaScript 自定义对象 及 new原理与实现 如何完整地手写实现new
JavaScript 自定义对象 及 new 原理与实现 如何完整地手写实现new
175 0
JavaScript 自定义对象 及 new原理与实现 如何完整地手写实现new