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. 复习os模块常用的一些操作

    import os # 1.切换路径============= d = os.getcwd() #获取当前的工作路径 os.chdir('D:\\')#目录的切换 print(os.getcwd()) ...

  2. LeetCode(84): 柱状图中最大的矩形

    Hard! 题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是柱状图的示例,其中每个柱子的宽度 ...

  3. JSP概述

    一.JSP页面本质上时一个Servlet,然而,用JSP开发比使用Servlet更容易,主要有两个原因,首先不必编译Servlet,其次JSP页面是一个以.jsp为扩展名的文本文件,可以使用任何编辑器 ...

  4. 控制台操作mysql常用命令

    总结: 1. 控制台链接mysql mysql -u lzpddd -pmypassword -h -D mydb -S /opt/mysql/data/mysql//mysql.sock 2.

  5. window下tomcat的内存溢出问题

    打开注册表:https://jingyan.baidu.com/article/49ad8bce09d6085835d8fa63.html Tomcat 内存溢出对应解决方式 Windows平台,使用 ...

  6. 蓝桥杯第十届真题B组(2019年)

    2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组# 试题 A:组队# 本题总分:5分[问题描述]作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员,组成球队的首发阵容.每位球员担 ...

  7. Vue.js货币格式化函数

    函数: const digitsRE = /(\d{3})(?=\d)/g export function currency (value, currency, decimals) { value = ...

  8. .Net页面缓存OutPutCache详解

    一 它在Web.Config中的位置 <system.web> <!--页面缓存--> <caching> <outputCacheSettings> ...

  9. 【AtCoder】ARC077

    C - pushpush 如果是按下标说的话 如果是偶数个 那么是 \(N,N - 2,N - 4...1,3,5...N - 1\) 如果是奇数个 \(N,N - 2,N - 4...2,4,6.. ...

  10. 修改input 的 placeholder

    input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #666!important; } inp ...