时间问题

别来无恙 提交于 2019-12-06 16:42:59
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 ? "\u661f\u671f": "\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;   
}   

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!