js日期处理函数 -- 判断闰年,获取当月的总天数、添加月份
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日期处理函数 -- 判断闰年,获取当月的总天数、添加月份的更多相关文章
- js 日期格式化函数(可自定义)
js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str ...
- js日期时间函数
日期时间脚本库方法列表 Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date ...
- Js 日期转换函数(UTC时间转换及日期想加减)
IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...
- JS日期格式化函数性能优化篇
最近开发的软件中需要用到日志功能,其中有一个重要功能是显示日期和时间.于是网上搜了一把,搜到大量的日期格式化函数,不过比较了下,感觉代码都不够优雅,而且性能都不给力.对线上一些代码进行了评测,以下是一 ...
- js 日期格式化函数
直接上代码: // 日期格式化函数 // yyyy/MM/dd hh:mm:ss SSS ⇒ "2017/05/16 09:24:20 850" //"yyyy/M/d ...
- js高阶函数--判断数据类型、函数胡柯里化;
一.判断数据类型: 常见的判断有typeof.instanceof. constructor. prototype,先来看typeof: var a = "hello world" ...
- js日期格式化函数
/** * @author ocq * * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q ...
- js 日期格式化 函数
function formatDate(date,format){ var paddNum = function(num){ num += ""; return num.repla ...
- 请用js写一个函数,实现获取浏览器url中查询字符串中的参数并返回一个数组
<script> console.log(getUrlArr()); function getUrlArr() { var arr = []; var url = "http:/ ...
随机推荐
- 复习os模块常用的一些操作
import os # 1.切换路径============= d = os.getcwd() #获取当前的工作路径 os.chdir('D:\\')#目录的切换 print(os.getcwd()) ...
- LeetCode(84): 柱状图中最大的矩形
Hard! 题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是柱状图的示例,其中每个柱子的宽度 ...
- JSP概述
一.JSP页面本质上时一个Servlet,然而,用JSP开发比使用Servlet更容易,主要有两个原因,首先不必编译Servlet,其次JSP页面是一个以.jsp为扩展名的文本文件,可以使用任何编辑器 ...
- 控制台操作mysql常用命令
总结: 1. 控制台链接mysql mysql -u lzpddd -pmypassword -h -D mydb -S /opt/mysql/data/mysql//mysql.sock 2.
- window下tomcat的内存溢出问题
打开注册表:https://jingyan.baidu.com/article/49ad8bce09d6085835d8fa63.html Tomcat 内存溢出对应解决方式 Windows平台,使用 ...
- 蓝桥杯第十届真题B组(2019年)
2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组# 试题 A:组队# 本题总分:5分[问题描述]作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员,组成球队的首发阵容.每位球员担 ...
- Vue.js货币格式化函数
函数: const digitsRE = /(\d{3})(?=\d)/g export function currency (value, currency, decimals) { value = ...
- .Net页面缓存OutPutCache详解
一 它在Web.Config中的位置 <system.web> <!--页面缓存--> <caching> <outputCacheSettings> ...
- 【AtCoder】ARC077
C - pushpush 如果是按下标说的话 如果是偶数个 那么是 \(N,N - 2,N - 4...1,3,5...N - 1\) 如果是奇数个 \(N,N - 2,N - 4...2,4,6.. ...
- 修改input 的 placeholder
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #666!important; } inp ...