js实现控制日期月份增减

定义一个当前日期变量

var myDate = new Date();

处理月份添加函数(date当前日期,num增加的月份【正数:增加月份,负数:减少月份】)
function addMonth(date, num) {
    num = parseInt(num);
    var sDate = dateToDate(date);

var sYear = sDate.getFullYear();
    var sMonth = sDate.getMonth() + 1;
    var sDay = sDate.getDate();

var eYear = sYear;
    var eMonth = sMonth + num;
    var eDay = sDay;
    while (eMonth > 12) {
      eYear++;
      eMonth -= 12;
    }

var eDate = new Date(eYear, eMonth - 1, eDay);

while (eDate.getMonth() != eMonth - 1) {
      eDay--;
      eDate = new Date(eYear, eMonth - 1, eDay);
    }

return eDate;
};

function dateToDate(date) {
    var sDate = new Date();
    if (typeof date == ‘object‘
      && typeof new Date().getMonth == "function"
      ) {
      sDate = date;
    }
    else if (typeof date == "string") {
      var arr = date.split(‘-‘)
      if (arr.length == 3) {
        sDate = new Date(arr[0] + ‘-‘ + arr[1] + ‘-‘ + arr[2]);
      }
    }

return sDate;
  };

格式化日期函数

Date.prototype.Format = function(fmt)   
{ //author: meizz   
  var o = {   
    "M+" : this.getMonth()+1,                 //月份   
    "d+" : this.getDate(),                    //日   
    "h+" : this.getHours(),                   //小时   
    "m+" : this.getMinutes(),                 //分   
    "s+" : this.getSeconds(),                 //秒   
    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
    "S"  : this.getMilliseconds()             //毫秒   
  };   
  if(/(y+)/.test(fmt))   
    fmt=fmt.replace(RegExp.$1, (this.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;   
};

//调用函数

var myDate = new Date();
alert(addMonth(myDate, 1).Format("yyyy-MM-dd"));

执行效果

时间: 2025-01-06 01:24:54

js实现控制日期月份增减的相关文章

JS多选日期

项目需要一个可以选择多个日期的日期选择框,从网上找到一个单选的选择框源码 (http://blog.5d.cn/user2/samuel/200503/61881.html),修改成可以多选. 使用方法: 调用方法很简单: <input type="text" name="dateBegin" onclick="calendarShow(this)" readonly> 或者用button调用也行 <input type=&qu

js中格式化日期

Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds()

js强大的日期格式化函数,不仅可以格式化日期,还可以查询星期,一年中第几天等

js强大的日期格式化,timestamp支持10位或13位的时间戳,或是时间字符串,同时支持android ios的处理,不只是日期的格式化还有其它方法,比如获 获取某月有多少天 .获取某个日期在这一年的第几周.一年中的第几天.一周中的第几天等方法 源码: /** * js日期格式化,timestamp支持10位或13位的时间戳,或是时间字符串 * @param{string} format传进来的字符串,Y-m-d H:i:s每个字母所代表的意思详见代码 * @param{int string

JS框架_(Vue.js)带有星期日期的数字时钟

数字时钟效果: <!doctype html> <html> <head> <meta charset="utf-8"> <title>vue.js带有星期日期的数字时钟代码</title> <style> html, body { height: 100%; } body { background:#C7C7C7; } p { margin: 0; padding: 0; } #clock { fon

JS中date日期初始化的5种方法

原文:JS中date日期初始化的5种方法 创建一个日期对象: 代码如下: var objDate=new Date([arguments list]); 参数形式有以下5种: 1)new Date("month dd,yyyy hh:mm:ss"); 2)new Date("month dd,yyyy"); 3)new Date(yyyy,mth,dd,hh,mm,ss); 在程序中我使用的第三种初始化方法,总是显示格式化的参数不正确,仔细看了一下一定要是整型的才可

js 时间戳转为日期格式

js 时间戳转为日期格式 什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被使用在Unix系统.类Unix系统中,也在许多其他操作系统中被广泛采用. 目前相当一部分操作系统使用32位二进制数字表示时间.此类系统的Unix时间戳最多可以使用到格林威治

MVC中的@Html.DisplayFor如何控制日期的显示格式

在Sql Server中,如果将某字段定义成日期 时间 类型DateTime,那么在视图中会默认显示成年月日时分秒的方式(如 2013/8/6 13:37:33) 如果只想显示成年月日或者其他自定义形式,怎么办?下面的方法可以解决: 1.在Share文件夹下,创建一个文件夹TimeConversion 2.在TimeConversion文件夹下,创建一个MyTime.cshtml视图 3.MyTime.cshtml视图中只有两行代码即可: ? 1 2 @model System.DateTime

js转换Date日期格式

有时候做项目会用到js的date日期格式,因为Date()返回的格式不是我们需要的, Date()返回格式: Thu Mar 19 2015 12:00:00 GMT+0800 (中国标准时间) 而我们则需要这样的格式: 2015-3-19 12:00:00 除非是在后台处理好时间格式,然后在页面直接显示. 那如何用js格式化date日期值呢? 1.js方法返回值:2015-03-19 var formatDate = function (date) { var y = date.getFull

js 格式化时间日期函数小结

下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(