`
wm920
  • 浏览: 80685 次
  • 性别: 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";
    }
}

 

分享到:
评论

相关推荐

    html5婚庆邀请函

    可能包含特定的格式化规则,如日期的排列顺序、时间的展示形式,以及与邀请函主题相符的定制样式。 3. `default.css`: 这是默认样式表,可能包含一些通用的CSS规则,如重置浏览器默认样式、设置全局间距或边距,以...

    简单翻页婚礼邀请函请柬源码.rar

    这类邀请函通常需要包含新人照片、婚礼日期、时间、地点等关键信息,并且设计风格通常与婚礼主题相协调,可能包括浪漫、优雅或独特的视觉元素。 在压缩包内的文件名 "简单翻页婚礼邀请函请柬源码" 没有提供具体细节...

    DHTMLX 使用手冊版本

    - 日期格式调整 - 日期范围限制 - 多语言支持 - 自定义星期起始日 - 隐藏/显示日历 - 假日设定 - 无效日期设置 - **事件处理**: - 外挂事件处理 - onClick 事件 - onChangeMonth 事件 3. **dhtmlxCombo*...

    invitation-mp:邀请函,婚礼邀请小程序

    2. **动态内容编辑**:利用JavaScript的DOM(文档对象模型)操作,用户可以方便地添加、修改邀请函的文字内容,如新人姓名、婚礼日期、地点等关键信息。 3. **交互体验**:JavaScript可以创建各种交互效果,如动画...

    Javascript对象属性方法汇总

    还有`toGMTString()`、`toLocaleString()`等方法用于格式化日期和时间。 最后,Math对象提供了一些数学常量和函数,如圆周率`PI`、自然对数的底`E`等。常用的数学方法包括`sin()`、`cos()`、`tan()`计算三角函数值...

    微信小程序实现婚礼代码

    在婚礼小程序中,可能会有处理图片上传、日期格式化、动态计算等实用功能的函数。 7. `app.wxss`:这是小程序的全局样式表,定义了全局的CSS样式规则,可以设置组件的默认样式,确保整个小程序的视觉一致性。 8. `...

    YQH_Wed.zip

    【标签】:“邀请函”表明这是一个专门设计用于发出婚礼邀请的在线平台,可能包括新人的照片、婚礼的日期、时间和地点等关键信息。“可修改”意味着这个模板是可定制的,用户可以根据自己的需求调整内容和样式,比如...

    dhtmlx 帮助文档 (中文版)

    - **主要特点**:一个高度自定义的日历插件,支持多语言、各种日期格式等。 - **支持的浏览器**:兼容主流浏览器,如 Chrome、Firefox、Safari 等。 - **初始化 dhtmlxCalendar**: - **最小初始化**:简单地在...

    JavaScript 学习笔记(四)

    Date类则用于日期和时间的生成、格式化和计算。 今天的学习笔记将聚焦于内置对象Global对象和Math对象。 Global对象在JavaScript中是一个特殊的对象,它实际上没有构造函数,而是全局作用域的一个隐式对象。在...

    Valentines2021:特别的情人节邀请,应于2021年2月14日到期

    3. JavaScript文件:如`script.js`,可能包含了实现邀请函功能的代码,如倒计时、交互效果或特定日期的逻辑。 4. 图像资源:可能有`.jpg`或`.png`格式的图片,用于装饰或增强用户体验,比如背景图片、图标或动画效果...

    invitation:邀请网站

    2. **表单验证**:在用户填写报名信息时,JavaScript 可以实时检查输入的有效性,如邮箱格式、日期范围等,避免无效数据的提交。 3. **动画效果**:为了提升用户体验,JavaScript 通常用于创建平滑的过渡、滚动效果...

    结婚模板PSD

    在婚礼策划和设计中,这些模板通常包括邀请函、海报、相册封面、婚礼现场布置的设计元素等,旨在为新人提供一种快速、方便的方式来创建个性化且专业的婚礼视觉效果。 在网页模版方面,"结婚模板PSD"意味着这些设计...

    php 面试题总结.docx

    1. **`date()` 函数**: 这个内置函数用来格式化时间戳为易读的日期/时间格式。其中 `"Y-m-d H:i:s"` 表示年-月-日 时:分:秒。 2. **`time()` 函数**: 返回当前时间的时间戳。 3. **`strtotime()` 函 数**: 可以解析...

    婚礼卡

    9. **JavaScript交互**:如果需要动态效果,如动画或交互式功能,可以引入JavaScript。例如,可以添加轻量级的库如jQuery,以实现点击按钮后弹出祝福语或播放背景音乐。 10. **优化与兼容性**:为了确保所有浏览器...

    lachyandirina.com:Lachy 和 Irina 的婚礼请柬网站

    这种类型的网站通常包含了关于婚礼的详细信息,如日期、时间、地点、RSVP(确认出席)方式以及新人的故事等,旨在为宾客提供方便,同时也增添婚礼的个性化色彩。 【描述】"拉希和伊琳娜的婚礼,我的婚礼网站",这...

Global site tag (gtag.js) - Google Analytics