• 时间问题


    1、
    function foo(){} // 声明,因为它是程序的一部分  
    var bar = function foo(){}; // 表达式,因为它是赋值表达式的一部分  
    new function bar(){}; // 表达式,因为它是new表达式  
    (function(){  
       function bar(){} // 声明,因为它是函数体的一部分  
    })();  
    
    
    2、时间:
    获取当前时间 var time= new Date()
    当前时间的前一个小时:var frontOneHour = new Date(new Date().getTime() - 1 * 60 * 60 * 1000);
    格式化时间:
    function frontOneHour (fmt) {
        var currentTime = new Date(new Date().getTime())
        console.log(currentTime) // Wed Jun 20 2018 16:12:12 GMT+0800 (中国标准时间)
        var o = {
          'M+': currentTime.getMonth() + 1, // 月份
          'd+': currentTime.getDate(), //
          'h+': currentTime.getHours(), // 小时
          'm+': currentTime.getMinutes(), //
          's+': currentTime.getSeconds(), //
          'q+': Math.floor((currentTime.getMonth() + 3) / 3), // 季度
          'S': currentTime.getMilliseconds() // 毫秒
        }
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (currentTime.getFullYear() + '').substr(4 - RegExp.$1.length))
        for (var k in o) {
          if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
        }
        return fmt
      }
    // 调用
    frontOneHour('yyyy-MM-dd hh:mm:ss') // "2018-06-20 16:11:59"
    frontOneHour('yyyy-MM-dd') // "2018-06-20"
    frontOneHour('yyyyMMDD') // "201806DD"
    
    
    时间戳转换日期:
    function formatDate(datetime) {
            // 获取年月日时分秒值  slice(-2)过滤掉大于10日期前面的0
               var year = datetime.getFullYear(),
                   month = ("0" + (datetime.getMonth() + 1)).slice(-2),
                   date = ("0" + datetime.getDate()).slice(-2),
                   hour = ("0" + datetime.getHours()).slice(-2),
                   minute = ("0" + datetime.getMinutes()).slice(-2),
                second = ("0" + datetime.getSeconds()).slice(-2);
             // 拼接
             var result = year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second;
             // 返回
             return result;
         }
        var date = new Date();
        console.log(formatDate(date)); // 2018-05-26 23:09:26
    
    
    
    //时间戳转换日期:
    formatterDate(data) {
        //blog.csdn.net/moshowgame
        var date = new Date(parseInt(data) );
        const Y = date.getFullYear() + '-';
        const M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        const D = (date.getDate()<10?'0'+date.getDate():date.getDate()) + ' ';
        const h = (date.getHours() <10?'0'+date.getHours() :date.getHours() )+ ':';
        const m = (date.getMinutes() <10?'0'+date.getMinutes() :date.getMinutes() ) + ':';
        const s = (date.getSeconds() <10?'0'+date.getSeconds() :date.getSeconds() );
        return(Y+M+D+h+m+s);
        },
    
    
    /**  
    * 对Date的扩展,将 Date 转化为指定格式的String  
    * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符  
    * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)  
    * eg:  
    * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2007-07-02 08:09:04.423  
    * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2007-03-10 二 20:09:04  
    * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2007-03-10 周二 08:09:04  
    * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2007-03-10 星期二 08:09:04  
    * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2007-7-2 8:9:4.18  
    */  
    Date.prototype.format = function(fmt) {   
        var o = {   
            "M+": this.getMonth() + 1,   
            //月份   
            "d+": this.getDate(),   
            //
            "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12,   
            //小时   
            "H+": this.getHours(),   
            //小时   
            "m+": this.getMinutes(),   
            //
            "s+": this.getSeconds(),   
            //
            "q+": Math.floor((this.getMonth() + 3) / 3),   
            //季度   
            "S": this.getMilliseconds() //毫秒   
        };   
        var week = {   
            "0": "u65e5",   
            "1": "u4e00",   
            "2": "u4e8c",   
            "3": "u4e09",   
            "4": "u56db",   
            "5": "u4e94",   
            "6": "u516d"  
        };   
        if (/(y+)/.test(fmt)) {   
            fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));   
        }   
        if (/(E+)/.test(fmt)) {   
            fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "u661fu671f": "u5468") : "") + week[this.getDay() + ""]);   
        }   
        for (var k in o) {   
            if (new RegExp("(" + k + ")").test(fmt)) {   
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));   
            }   
        }   
        return fmt;   
    }   
  • 相关阅读:
    定位属性position,相对定位,绝对定位
    flex弹性盒模型?
    vue生命周期
    理解cookie、session、token
    前端兼容性问题
    JS 如何为一个元素怎么绑定多个事件?
    js数组的操作方法
    vue页面翻页勾选的记忆功能
    Vue中nextTick的正确使用
    Vue用router.push(传参)跳转页面,参数改变,跳转页面数据不刷新的解决办法
  • 原文地址:https://www.cnblogs.com/zhanghailing/p/11994953.html
Copyright © 2020-2023  润新知