如何计算未来6天的日期

bnabinge 2011-05-02 10:08:44
如何计算未来6天的日期
比如今天是2011年5月2日
然后通过JS算出
今天后的5天时间,
也就是:2011年5月3日
2011年5月4日
2011年5月5日
2011年5月6日
2011年5月7日
要考虑2月闰月,闰年。
哪位大兄弟指定秘籍。或者给个代码
...全文
271 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
toury 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 t5500 的回复:]

从来没想过这样来设置日期,只看过w3school上关于Date对象的介绍,从来没想过还可以这样设置,有点想当然地认为set方法给定的值应该是一个合法的值,比如月份的设置应该是0-11的整数,没想到设置一个“非法”的整数值也是可以的。。。
JScript code
var d = new Date();
d.setMonth(100);
alert(d.toLocaleDateString()……
[/Quote]

setMonth 方法
dateObj.setMonth(numMonth[, dateVal])

numMonth

如果 numMonth 的值大于 11 (月份 0 表示一月)或者是一个负数,那么所保存的年份将相应地得到改变。例如,如果所保存的日期是 "Jan 5, 1996" 并且调用了 setMonth(14) 方法,那么该日期就被改变为 "Mar 5, 1997."
乌镇程序员 2011-05-02
  • 打赏
  • 举报
回复
从来没想过这样来设置日期,只看过w3school上关于Date对象的介绍,从来没想过还可以这样设置,有点想当然地认为set方法给定的值应该是一个合法的值,比如月份的设置应该是0-11的整数,没想到设置一个“非法”的整数值也是可以的。。。
var d = new Date();
d.setMonth(100);
alert(d.toLocaleDateString());
bnabinge 2011-05-02
  • 打赏
  • 举报
回复
是看了toury
的有点牛。呵弄迷糊了
bnabinge 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 t5500 的回复:]
引用 3 楼 bnabinge 的回复:

<body>
<div id="result"></div>
<script type="text/javascript">
var d = new Date(), tmp = new Date();
var result = '';
d.setFullYear(2011,2,28); //设置日期为2011年2月28日(js中用0~11表……
[/Quote]
嗯 。我看了T5500
他的有点牛的。
现在我再想想怎么格式化。
你早点休息。明天继续解 嘎嘎。
toury 2011-05-02
  • 打赏
  • 举报
回复
7楼:
d.setFullYear(2011,2,28),输出的是
2011年3月29
2011年3月30
2011年3月31
2011年4月1
2011年4月2
乌镇程序员 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bnabinge 的回复:]

<body>
<div id="result"></div>
<script type="text/javascript">
var d = new Date(), tmp = new Date();
var result = '';
d.setFullYear(2011,2,28); //设置日期为2011年2月28日(js中用0~11表示月份,所以-1)
for (var i =……
[/Quote]
奇怪了,就算是d.setFullYear(2011,2,28),输出也应该是
2011年3月29
2011年3月30
2011年3月31
2011年4月1
2011年4月2

怎么会是
2011年2月29
2011年2月30
2011年2月31
2011年3月1
2011年3月2

不解了。。
乌镇程序员 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 toury 的回复:]

HTML code

<script type="text/javascript">
var d = new Date();
var num=d.getDate()*1;
var k=0
for(var i=1;i<7;i++){
d.setDate(num+1*k);
document.write(d.toString()+'<br>');
num=d.getDate()*1 ;……
[/Quote]
原来setDate()还会根据年月自动调整日期啊,我试了下,给2011年2月28日设置setDate(29),日期对象自动设置成2011年3月1日了,很强大啊。。
toury 2011-05-02
  • 打赏
  • 举报
回复
setDate()函数都帮你考虑进去什么闰月、闰年的,直接使用就是了。
乌镇程序员 2011-05-02
  • 打赏
  • 举报
回复
d.setFullYear(2011,2,28); //js中的月份数值是0-11,所以这样设置以后,对象d表示的日期是2011年3月28日
bnabinge 2011-05-02
  • 打赏
  • 举报
回复
<body>
<div id="result"></div>
<script type="text/javascript">
var d = new Date(), tmp = new Date();
var result = '';
d.setFullYear(2011,2,28); //设置日期为2011年2月28日(js中用0~11表示月份,所以-1)
for (var i = 1; i <= 5; i ++) {
tmp.setTime(d.getTime() + i * 1000 * 60 * 60 * 24); //换算为1970 年 1 月 1 日至今的毫秒数,然后加上天数*一天的毫秒数,再以新的好描述设置日期对象
result += tmp.getFullYear() + '年' + (tmp.getMonth()+1) + '月' + tmp.getDate() + '<br />';
}
document.getElementById('result').innerHTML = '2011年12月28日后五天的日期:<br />' + result;
</script>
</body>
</html>
如果是二月
输出结果看下面
2011年12月28日后五天的日期:
2011年2月29
2011年2月30
2011年2月31
2011年3月1
2011年3月2
还有这一句(tmp.getMonth()+1)
为什么加1呢?
toury 2011-05-02
  • 打赏
  • 举报
回复

<script type="text/javascript">
var d = new Date();
var num=d.getDate()*1;
var k=0
for(var i=1;i<7;i++){
d.setDate(num+1*k);
document.write(d.toString()+'<br>');
num=d.getDate()*1 ;
k=1;
}
</script>

乌镇程序员 2011-05-02
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<div id="result"></div>
<script type="text/javascript">
var d = new Date(), tmp = new Date();
var result = '';
d.setFullYear(2011,11,28); //设置日期为2011年12月28日(js中用0~11表示月份,所以-1)
for (var i = 1; i <= 5; i ++) {
tmp.setTime(d.getTime() + i * 1000 * 60 * 60 * 24); //换算为1970 年 1 月 1 日至今的毫秒数,然后加上天数*一天的毫秒数,再以新的好描述设置日期对象
result += tmp.getFullYear() + '年' + (tmp.getMonth() + 1) + '月' + tmp.getDate() + '<br />';
}
document.getElementById('result').innerHTML = '2011年12月28日后五天的日期:<br />' + result;
</script>
</body>
</html>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧