例如:给定截止日期enddate=2010-07-31
计算得到开始日期startdate=2010-06-30
这个问题的关键在于对以下几处的考虑:
1、startdate跨年
2、startdate是2月(需考虑闰年的情况)
3、大小月
<html>
<script type="text/javascript">
function getInitStartDate(enddate){
var comp = enddate.split("-");
var year = comp[0];
var month = comp[1];
var date = comp[2];
if(month == "01") { //前一月跨年
month = 12;
year = year - 1;
} else {
month = month - 1;
if(month == 2 && date > 28) {
date = isLeapYear(year) ? 29 : 28;
} else if(date == 31){
switch(month) {
case 4:
case 6:
case 9:
case 11: date = 30; break;
default: break;
}
}
}
month = (""+month).length==1 ? ("0"+month) : (""+month);
var dateFormat = year + "-" + month + "-" + date;
return dateFormat;
}
function isLeapYear(y) { //判断y是否为闰年
return (y % 4 == 0) && (y % 400 == 0 || y % 100 != 0);
}
alert(getInitStartDate("2010-07-31"));
</script>
</html>
分享到:
相关推荐
Java实现给定日期计算星期几。通过给定****-**-**的格式来计算星期几。
提示2:计算给定日期的星期几(0~6, 其中6 为星期日) W = (d+2*m+3*(m+ 1)/5+y+y/4- y/100+y/400) mod 7 (要求将1、2月当作上一-年的13、14月来 计算) 三、完成nextdate程序开发,理解软件测试 的必要性。 (1) WinFrom...
精确计算日期物理差(计算给定的两个日期间的物理年月日时分秒差),参照日期使用DateTime的AddYears,AddMonths,AddDays,AddHours,AddMinutes,AddSeconds可精确回到计算日期
c++面向对象实现计算给出的一个日期的下一天
返回给定日期当月的第一天和最后一天的日期
主要介绍了Python自定义函数计算给定日期是该年第几天的方法,结合具体实例形式分析了Python日期时间计算相关操作技巧,需要的朋友可以参考下
主要介绍了Python计算一个给定时间点前一个月和后一个月第一天的方法,涉及Python使用datetime模块计算日期时间的相关操作技巧,需要的朋友可以参考下
本文实例讲述了php计算给定日期所在周的开始日期和结束日期。分享给大家供大家参考,具体如下: <?php /** * 取得给定日期所在周的开始日期和结束日期 * @param string $gdate 日期,默认为当天,格式:YYYY-...
js中本人尝试过许多方法对时间前进进行计算,后来慢慢发现,通过New Date类对每日的24:00的进位,可以很简便的计算出给定时间的一小时或一天后的时间;此次资源以整时为例,若精确到分秒,思路相同,可先将分秒部分...
给定日期的前一天,给定日期的后一天 ,计算给定日期所在月的最后一天
用于计算下一天的小程序,JAVA写成,区别闰年和平年
java实现输入任意两个日期输出月份数和天数,综合考虑闰年、2月等因素,对于整月计算利息或按天数计算利息提供基础工具类。也可以吧内部类独立出来,方便跨包调用,可自行调整。很实用的一个实现。其他百度查到的很...
1.对于任意三个整数,判断其否为一个合法的日期值. 2.给定一个日期值,计算若干天后的日期值. 3.如果有两个日期值,计算它们相距的天数.
(3)计算一个日期加上一个整数后对应的日期。 (4)计算一个日期减去一个整数后对应的日期。 (5)计算一个日期是星期几。 分析: 1.判断给定日期的合法性 首先判断年份是否在1970~2050之间,然后判断月份...
MATLAB 输入起始日期和天数,计算天数对应日期和星期几
要使用该函数,只需将其下载到您的工作目录,然后调用提供日期向量的函数“ doy”即可。 例子: doy('02-Jun-2003') 返回 153 作为 2-Jun-2003 的天数。 ... 您还可以一次转换一组日期。 享受!
输入任意日期(年月日),根据Zeller公式,利用matlab来计算是星期几
3、当剩余天数不足一月时,计算目标年、月份中的天数 输入:起始日期:y-m-d 与给定天数 x 输出:目标日期:y-m-d #include int main() { int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; int judge...
2.背景日期计算器主要功能是供用户方便快捷的计算出两个日期之间相差多少天以及推算几天后的时间主要目的是为了让用户能够避免复杂的年月日进制转换,方便快捷得到想要的