`
wm920
  • 浏览: 77424 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js的日期格式化函

阅读更多
//=============js的日期格式化函数=============
Date.prototype.format = function(format) {
    var o =
    {
        "M+" : this.getMonth()+1, //month
        "d+" : this.getDate(),   //day
        "h+" : this.getHours(),   //hour
        "m+" : this.getMinutes(), //minute
        "s+" : this.getSeconds(), //second
        "q+" : Math.floor((this.getMonth()+3)/3), //quarter
        "S" : this.getMilliseconds() //millisecond
    }
    if(/(y+)/.test(format))
        format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o)
        if(new RegExp("("+ k +")").test(format))
            format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
    return format;
}

//用于获取月份的类
//edit by zbh on 2010-03-19
var MonthStruct = {
    getFirstDay: function(){
        //获取本月第一天
        var nowdate = new Date();
          var monthFirstDay = new Date(nowdate.getYear(), nowdate.getMonth(), 1);
        return monthFirstDay.format('yyyy-MM-dd');
    },

    getLastDay: function(){
        //获取本月最后一天
      var nowdate = new Date();
        var monthNextFirstDay = new Date(nowdate.getYear(), nowdate.getMonth() + 1, 1);
        var monthLastDay = new Date(monthNextFirstDay-86400000);
        return monthLastDay.format('yyyy-MM-dd');
    },

    getPreFirstDay: function(day){
        //获取指定日期的上月第一天
      day = day.replace("-", "/");
        //将类型yyyy-MM-dd 替换成 yyyy/MM/dd,否则不能转换为日期类型
      var _date = new Date(day);
        var preFirstDay = new Date(_date.getYear(), _date.getMonth() - 1, 1);
        return preFirstDay.format('yyyy-MM-dd');
    },

    getPreLastDay: function(day){
        //获取指定日期的上月最后一天
      day = day.replace("-", "/");
        //将类型yyyy-MM-dd 替换成 yyyy/MM/dd,否则不能转换为日期类型
      var _date = new Date(day);
        var monthLastDay = new Date(_date.getYear(), _date.getMonth(), 1)
        var preLastDay = new Date(monthLastDay - 86400000);
        return preLastDay.format('yyyy-MM-dd');
    },

    getNextFirstDay: function(day){
        //获取指定日期的下月第一天
      day = day.replace("-", "/");
        //将类型yyyy-MM-dd 替换成 yyyy/MM/dd,否则不能转换为日期类型
      var _date = new Date(day);
        var nexFirstDay = new Date(_date.getYear(), _date.getMonth() + 1, 1);
        return nexFirstDay.format('yyyy-MM-dd');
    },

    getNextLastDay: function(day){
        //获取指定日期的下月最后一天
      day = day.replace("-", "/");
        //将类型yyyy-MM-dd 替换成 yyyy/MM/dd,否则不能转换为日期类型
      var _date = new Date(day);
        var monthLastDay = new Date(_date.getYear(), _date.getMonth() + 2, 1)
        var nexLastDay = new Date(monthLastDay - 86400000);
        return nexLastDay.format('yyyy-MM-dd');
    }
}

var Month = function(){
    var init = {
        getstartTime: function(){
            var startTime = document.dataform.startTime.value;
            if(startTime == ""){
                startTime = MonthStruct.getFirstDay(); //获取本月第一天
            }
            return startTime;
        },
        getendTime: function(){
            var endTime = document.dataform.endTime.value;
            if(endTime == ""){
                endTime = MonthStruct.getLastDay();  //获取本月最后一天
            }
            return endTime;
        }
    }
    this.getPreMonth = function(){ //获取上月
     document.dataform.startTime.value = MonthStruct.getPreFirstDay(init.getstartTime()) + " 00:00";
      document.dataform.endTime.value = MonthStruct.getPreLastDay(init.getendTime()) + " 23:59";
    }
    this.getCurrMonth = function(){ //获取本月
     document.dataform.startTime.value = MonthStruct.getFirstDay() + " 00:00";
      document.dataform.endTime.value = MonthStruct.getLastDay() + " 23:59";
    }
    this.getNextMonth = function(){ //获取下月
     document.dataform.startTime.value = MonthStruct.getNextFirstDay(init.getstartTime()) + " 00:00";
      document.dataform.endTime.value = MonthStruct.getNextLastDay(init.getendTime()) + " 23:59";
    }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics