zoukankan      html  css  js  c++  java
  • js 时间戳的转化,js 日期转成标准字符串,日期格式的相互转化

    1.时间的获取

    var myDate = new Date();  
    myDate.getYear(); //获取当前年份(2位)  
    myDate.getFullYear(); //获取完整的年份(4位,1970-????)  
    myDate.getMonth(); //获取当前月份(0-11,0代表1月)         // 所以获取当前月份是myDate.getMonth()+1;   
    myDate.getDate(); //获取当前日(1-31)  
    myDate.getDay(); //获取当前星期X(0-6,0代表星期天)  
    myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)  
    myDate.getHours(); //获取当前小时数(0-23)  
    myDate.getMinutes(); //获取当前分钟数(0-59)  
    myDate.getSeconds(); //获取当前秒数(0-59)  
    myDate.getMilliseconds(); //获取当前毫秒数(0-999)  
    myDate.toLocaleDateString(); //获取当前日期  
    var mytime=myDate.toLocaleTimeString(); //获取当前时间  
    myDate.toLocaleString( ); //获取日期与时间  

    2.获取时间戳

    JS获取当前时间戳的方法-JavaScript 获取当前毫秒时间戳有以下三种方法:  
    
    var timestamp =Date.parse(new Date());    结果:1280977330000       //不推荐; 毫秒改成了000显示  
    
    var timestamp =(new Date()).valueOf();       结果:1280977330748       //推荐;   
    
    var timestamp=new Date().getTime();         结果:1280977330748        //推荐;   

    注意:js中单独调用new Date(); 显示这种格式 Mar 31 10:10:43 UTC+0800 2012

      但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数

    3.将字符串形式的日期转换成日期对象展示

    var strTime="2019-02-01";    //字符串日期格式             
    var date= new Date(Date.parse(strTime.replace(/-/g,  "/")));      //转换成Data();  
    new Date() ;     //参数可以为整数; 也可以为字符串; 但格式必须正确  
    
    new Date(2019,1,1);       //正确  
    
    new Date("2019/1/1");    //正确  
    
    new Date("2019-1-1");    //正确 
    
    new Date( year, month, date, hrs, min, sec)  按给定的参数创建一日期对象  
      参数说明:  
      year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;  
      month的值域为0~11,0代表1月,11表代表12月;  
      date的值域在1~31之间;  
      hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;  
      min和sec的值域在0~59之间。  
      例 Date day=new Date(11,3,4);  
      //day中的时间为:04-Apr-11 12:00:00 AM  
           另外,还可以给出不正确的参数。  
      例 设定时间为1910年2月30日,它将被解释成3月2日。  
      Date day=new Date(10,1,30,10,12,34);  
      System.out.println("Day's date is:"+day);  
      //打印结果为:Day's date is:Web Mar 02 10:13:34 GMT+08:00 1910  

    4.日期格式转为日期标准字符串:年月日

    var formatDate = function (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;  
    };  

     5.js方法返回值:年月日 时分秒

       var formatDateTime = function (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;
      }

    调用:formatDate(new Date())

     6.获取固定时间的时间戳,获取当前时间看上面2

    let data ="2019-02-01"
    var timestamp1 = Date.parse(new Date(data));//转成的时间戳是年月日 时分秒 把毫秒改成000显示
    var timestamp2 = (new Date(data)).valueOf();//转成的时间戳是年月日 时分秒毫秒
    var timestamp3 = new Date(data).getTime();//转成的时间戳是年月日 时分秒毫秒
    
    

    7.时间戳转成日期

     function format(shijian){
               let date = new Date(shijian)
                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; 
            },
    format(时间戳)

    8.封装时间日期格式的转化

    timeStamp:时间戳,
    type :根据自己的需要设置格式: Y-M-D   Y-M-D H 等等
    auto :为false是转化格式,为true是输入之前到今天的此时时间
    formatDate(timeStamp, type = 'Y-M-D H:I:S', auto = true) {
                let time = (timeStamp + '').length === 10 ? new Date(parseInt(timeStamp) * 1000) : new Date(parseInt(timeStamp));
                let _year = time.getFullYear();
                let _month = (time.getMonth() + 1) < 10 ? '0' + (time.getMonth() + 1) : (time.getMonth() + 1);
                let _date = time.getDate() < 10 ? '0' + time.getDate() : time.getDate();
                let _hours = time.getHours() < 10 ? '0' + time.getHours() : time.getHours();
                let _minutes = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes();
                let _secconds = time.getSeconds() < 10 ? '0' + time.getSeconds() : time.getSeconds();
                let formatTime = '';
                let distinctTime = new Date().getTime() - time.getTime();
    
                if (auto) {
                    if (distinctTime <= (1 * 60 * 1000)) {
                        // console.log('一分钟以内,以秒数计算');
                        let _s = Math.floor((distinctTime / 1000) % 60);
                        formatTime = _s + '秒前';
                    } else if (distinctTime <= (1 * 3600 * 1000)) {
                        // console.log('一小时以内,以分钟计算');
                        let _m = Math.floor((distinctTime / (60 * 1000)) % 60);
                        formatTime = _m + '分钟前';
                    } else if (distinctTime <= (24 * 3600 * 1000)) {
                        // console.log('一天以内,以小时计算');
                        let _h = Math.floor((distinctTime / (60 * 60 * 1000)) % 24);
                        formatTime = _h + '小时前';
                    } else if (distinctTime <= (30 * 24 * 3600 * 1000)) {
                        let _d = Math.floor((distinctTime / (24 * 60 * 60 * 1000)) % 30);
                        formatTime = _d + '天前';
                        // console.log('30天以内,以天数计算');
                    } else {
                        // 30天以外只显示年月日
                        formatTime = _year + '-' + _month + '-' + _date;
                    }
                } else {
    
                    switch (type) {
                        case 'Y-M-D H:I:S':
                            formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours + ':' + _minutes + ':' + _secconds;
                            break;
                        case 'Y-M-D H:I:S zh':
                            formatTime = _year + '年' + _month + '月' + _date + '日  ' + _hours + ':' + _minutes + ':' + _secconds;
                            break;
                        case 'Y-M-D H:I':
                            formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours + ':' + _minutes;
                            break;
                        case 'Y-M-D H':
                            formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours;
                            break;
                        case 'Y-M-D':
                            formatTime = _year + '-' + _month + '-' + _date;
                            break;
                        case 'Y-M-D zh':
                            formatTime = _year + '年' + _month + '月' + _date + '日';
                            break;
                        case 'Y-M':
                            formatTime = _year + '-' + _month;
                            break;
                        case 'Y':
                            formatTime = _year;
                            break;
                        case 'M':
                            formatTime = _month;
                            break;
                        case 'D':
                            formatTime = _date;
                            break;
                        case 'H':
                            formatTime = _hours;
                            break;
                        case 'I':
                            formatTime = _minutes;
                            break;
                        case 'S':
                            formatTime = _secconds;
                            break;
                        default:
                            formatTime = _year + '-' + _month + '-' + _date + ' ' + _hours + ':' + _minutes + ':' + _secconds;
                            break;
                    }
            }  // 返回格式化的日期字符串
            return formatTime;
        },

    以上的内容是自己经过验证,如有问题大家可以可以留言

    参考网址:https://blog.csdn.net/qq_39759115/article/details/78893853,https://blog.csdn.net/qq_39759115/article/details/78893853

  • 相关阅读:
    C# Asp.NET实现上传大文件(断点续传)
    asp.net mvc大文件上传、断点续传功能。
    JS&ASPDotNet_大文件上传问题
    javascript之大文件分段上传、断点续传(一)
    使用JS实现可断点续传的文件上传方案
    js+php大文件分片上传
    文件/大文件上传功能实现(JS+PHP)全过程
    js实现大文件分片上传的方法
    [每天一个Linux小技巧] 查看时钟源精度
    Linux
  • 原文地址:https://www.cnblogs.com/zyt-it/p/10338360.html
Copyright © 2011-2022 走看看