1. 判断是否是闰年

function isLeapYear(eDate) {
var year = eDate.getFullYear();
return (((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400));
}

2. 获取月份的总天数

function getDaysInMonth(eDate) {
var daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
daysInMonth[1] = isLeapYear(eDate) ? 29 : 28;
return daysInMonth[eDate.getMonth()];
}

3. 给日期加上几个月(如果得到的日期没有这一天,则自动变为当月的最后一天)

function addMonth(eDate, duration) {
var month = eDate.getMonth() + parseInt(duration);
var day = eDate.getDate();
eDate.setDate(1);
eDate.setMonth(month);
var daysInMonth = getDaysInMonth(eDate);
if(day > daysInMonth){
day = daysInMonth;
}
eDate.setDate(day);
return eDate;
}

4. 修改日期

function changeExpiryDate(expDate, duration, durationType){
if(durationType == 2){//Day
expDate.setDate(expDate.getDate()+parseInt(duration));
}else if(durationType == 3){//Week
expDate.setDate(expDate.getDate()+parseInt(duration*7));
}else if(durationType == 4){//Month
expDate = addMonth(expDate.getTime(), duration);
}
}

js日期处理函数 -- 判断闰年,获取当月的总天数、添加月份的更多相关文章

  1. js 日期格式化函数(可自定义)

    js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str ...

  2. js日期时间函数

    日期时间脚本库方法列表 Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date ...

  3. Js 日期转换函数(UTC时间转换及日期想加减)

    IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...

  4. JS日期格式化函数性能优化篇

    最近开发的软件中需要用到日志功能,其中有一个重要功能是显示日期和时间.于是网上搜了一把,搜到大量的日期格式化函数,不过比较了下,感觉代码都不够优雅,而且性能都不给力.对线上一些代码进行了评测,以下是一 ...

  5. js 日期格式化函数

    直接上代码: // 日期格式化函数 // yyyy/MM/dd hh:mm:ss SSS ⇒ "2017/05/16 09:24:20 850" //"yyyy/M/d ...

  6. js高阶函数--判断数据类型、函数胡柯里化;

    一.判断数据类型: 常见的判断有typeof.instanceof. constructor. prototype,先来看typeof: var a = "hello world" ...

  7. js日期格式化函数

    /** * @author ocq * * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q ...

  8. js 日期格式化 函数

    function formatDate(date,format){ var paddNum = function(num){ num += ""; return num.repla ...

  9. 请用js写一个函数,实现获取浏览器url中查询字符串中的参数并返回一个数组

    <script> console.log(getUrlArr()); function getUrlArr() { var arr = []; var url = "http:/ ...

随机推荐

  1. linq2db.EntityFrameworkCore 介绍

    linq2db.EntityFrameworkCore 是一个ef core的插件,对linq语法的扩展 对复杂的sql都有很好的支持,他是基于linq2db (provided by LINQ To ...

  2. Ubuntu 安装google 拼音

    一.安装fcitx apt-get install fcitx 二.安装google pinyin sudo apt install fcitx-googlepinyin 三. 安装 fcitx-co ...

  3. Java手动释放对象

    伪代码 public void updateUser(BufferedWriter writer, BufferedReader reader) { List<User> array = ...

  4. Nginx + tomcat服务器 负载均衡

    Nginx 反向代理初印象 Nginx (“engine x”) 是一个高性能的HTTP和反向代理 服务器,也是一个IMAP/POP3/SMTP服务器.其特点是占有内存少,并发能力强,事实上nginx ...

  5. JMeter 中跨线程组 变量值传递的方法

    关于jmeter中跨线程组 变量值传递的方法         找了好久,终于找到方法了,赶紧整理下来. 1.在线程组1 中使用__setProperty函数设置jmeter属性值(此值为全局变量值), ...

  6. spring cloud Hystix熔断机制--基本熔断配置和Fegin client熔断配置

    所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢? 当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示 ...

  7. Deap thinking

    它使任何人离任何问题的答案间的距离变得只有点击一下鼠标这么远! ---------<美国周刊> ---------周志华<机器学习>   所以我们更应该学会Deep Think ...

  8. 一脸懵逼学习MapReduce的原理和编程(Map局部处理,Reduce汇总)和MapReduce几种运行方式

    1:MapReduce的概述: (1):MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题. (2):MapReduce由两个阶段组成:Map和Red ...

  9. GIT 数据结构

    Git doesn’t think of or store its data this way. Instead, Git thinks of its data more like a series ...

  10. ASP.NET Core Middleware管道介绍

    public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.Use(async (context, ne ...