时间、时间戳、带格式时间的转换

时间、时间戳、带格式时间的转换

最近正好在工做中遇到一些有关处理时间的问题,就整理了一下关于时间转化的问题,很基础,但相信都会接触的到的

  1. 时间转换成时间戳

获取时间markdown

let date = new Date();
console.log(date);
//输出:Sat Mar 24 2018 18:22:00 GMT+0800 (CST) (中国标准时间)
复制代码
  • 转换:四种方法(不推荐第一种方法,由于毫秒级别会被转化为000)
let date1 = Date.parse(date);//毫秒级别的数值被转化为000
console.log(date1);
//输出:1521886920000

let date2 = date.valueOf();//经过valueOf()函数返回指定对象的原始值得到准确的时间戳值
console.log(date2);
//输出:1521886920000

let date3 = date.getTime();//经过原型方法直接得到当前时间的毫秒值,准确
console.log(date3);
//输出:1521886920000

let date4 = Number(date);//将时间转化为一个number类型的数值,即时间戳
console.log(date4);
//输出:1521886920000
复制代码

2.时间转换为带格式的时间函数

格式:yyyy-mm-ddspa

function formatDate(date) {
   var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? '0' + m : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    return y + '-' + m + '-' + d;//这里能够写格式
    //输出:2018-03-24
}
复制代码

格式:yyyy-mm-dd hh:mm:sscode

function formatDateTime(date) {
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    h=h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    minute = minute < 10 ? ('0' + minute) : minute;
    var second=date.getSeconds();
    second=second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
    //输出:2018-03-24 18:41:16
复制代码

3.时间戳转换为带格式的时间orm

let date5 = new Date(date);//直接用 new Date(时间戳) 格式转化得到时间
console.log(date5);
formatDate(date5);//直接调用上方的方法
复制代码

4.时间格式字符串转为时间戳(毫秒)对象

let time1='2018-03-24 18:55:16';
let dateM=new Date(time1.replace(/-/g, '/'));  //开始时间
let time2=dateM.getTime();
console.log(time2);
//输出:1521888916000
复制代码
相关文章
相关标签/搜索