最近老是跟js打交道,写了些小函数,收集一下做备用。
//获取上个周期的初始时间 function getLastBeginMonth(beginYearMonth,endYearMonth){ var beginYear = parseInt(beginYearMonth.substr(0,4),10); var beginMonth = parseInt(beginYearMonth.substr(4,6),10); var endYear = parseInt(endYearMonth.substr(0,4),10); var endMonth = parseInt(endYearMonth.substr(4,6),10); var Month1,Month2,iMonths; Month1=beginYear*12+beginMonth; Month2=endYear*12+endMonth; iMonths = Month2-Month1+1; //create the date var myDate = new Date(beginYear,beginMonth,0); //add a month myDate.setMonth(myDate.getMonth() - iMonths); var firstMonth=date2str(myDate,"yyyyMM") alert("开始日期:"+beginYearMonth+",间隔月份数:"+iMonths+",前推N月后的日期:"+firstMonth); return firstMonth; } //获取上个周期的结束时间 function getLastEndMonth(beginYearMonth){ var strYear = parseInt(beginYearMonth.substr(0,4),10); var strMonth = parseInt(beginYearMonth.substr(4,6),10); if(strMonth - 1 == 0){ strYear -= 1; strMonth = 12; } else { strMonth -= 1; } if(strMonth<10){ strMonth="0"+strMonth; } var monthstr = strYear+""+strMonth; alert("当前月份:"+beginYearMonth+",上一个月:"+monthstr); return monthstr; } function date2str(x,y) { var z = {M:x.getMonth()+1,d:x.getDate(),h:x.getHours(),m:x.getMinutes(),s:x.getSeconds()}; y = y.replace(/(M+|d+|h+|m+|s+)/g,function(v) {return ((v.length>1?"0":"")+eval('z.'+v.slice(-1))).slice(-2)}); return y.replace(/(y+)/g,function(v) {return x.getFullYear().toString().slice(-v.length)}); }
测试:
<a href="#" onclick="getLastEndMonth('201303');">获取上一个月</a><br/>
<a href="#" onclick="getLastBeginMonth('201303','201405');">获取初始月份</a>
相关推荐
javaScript 获取给定日期所在月的第一个指定星期几,最后一个星期几
给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。 编程任务: 对于给定的由n 个自然数组成的...
js中本人尝试过许多方法对时间前进进行计算,后来慢慢发现,通过New Date类对每日的24:00的进位,可以很简便的计算出给定时间的一小时或一天后的时间;此次资源以整时为例,若精确到分秒,思路相同,可先将分秒部分...
给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。 (1) n∈set(n); (2) 在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; (3) 按此规则进行处理,直到不能再添加自然数为止。 ...
给定时间自动获取上月25号本月24号.doc
给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重 集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S的众数是2,其重数为3。 编程任务: 对于给定的由n 个...
给定程序MODI1.C中的函数fun的功能是:由形参给定的n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。 例如,n=8时,输入:193,199,195,673,195,757,196,051,196,092,196,596,196,579...
C语言程序设计-求给定正整数n以内的素数之积;(n).c
给定n 位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个 新的正整数。对于给定的n位正整数a 和正整数k,设计一个算法找出剩下数字组成的新数 最小的删数方案。 «编程任务: 对于给定的正...
给定N个不同的整数,要求对这N个整数按如下规则排序并输出 数据结构
最大间隙问题 最大间隙问题:给定n 个实数x1, x2,......接下来的1 行中有n个实数x1, x2,... , xn。 Output 程序运行结束时,将找到的最大间隙输出。 Sample Input 5 2.3 3.1 7.5 1.5 6.3 Sample Output 3.2
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn ...
输入一个整数n,代表接下来输入整数个数,n,接着输入n个整数,整数用int表示即可。 输出描述 输出整数序列的和、最小值、最大值。用空格隔开,占一行 样例输入 2 1 2 样例输出 3 1 2 提交代码 自己编写的基础知识...
/*加和*/ //给定一个整数t,以及n个整数,在这n个整数中找到加和为t的所有组合。
编写程序,对给定的n(n≦100),计算并输出k的阶乘k!(k=1,2,…,n)的全部有效数字。由于要求的整数可能大大超出一般整数的位数,程序用一维数组存储长整数,存储长整数数组的每个元素只存储长整数的一位数字。...
对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存储的程序数。 Input 输入由多组测试数据组成。 每组测试数据输入的第一行是2 个正整数,分别表示文件个数n和磁带的长度L。接下来的1 行中,有n个...
C语言带参宏替换计算给定年份的二月天数,供初学者参考
给定一个整数n,求出所有连续的且和为n正整数。比如对于整数27,结果为2~7、8~10、13和14,因为这些数之间的整数的和都是27。注意:并不是所有的整数都有结果,例如不存在连续的整数和为16。为了提高计算的效率,...
给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。 输出格式 输出一个整数,表示值正好相差1的数对...
①根据给定的n个权值(w1, w2, …, wn)构成n棵二叉树的集合F={T1, T2, …, Tn},其中每棵二叉树Ti中只有一个带树为Ti的根结点; ②在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且置其根结点的...