一个比较难的js问题请大神帮忙下

qingwadaxia_1 2018-01-25 04:00:04
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a id="cc "href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin=2018-01-25&end=2018-01-25"></a>

<script>
var cc = document.getElementById("cc");
</script>
</body>
</html>

上面是一个a标签链接, 我想每天动态修改里面的两个2018-01-25 改成:2018-01-26 说白了就是当前日期的明天,比如今天是日期2018-01-25 我就想它今天显示成2018-01-26

到了2018-01-26号它就自动更新成2018-01-27 就是每天都比今天的日期多一天这样的效果 请问如何去实现

我怕我说不清楚, 就是说获取今天的日期基础上再加一天 也就是明天的效果
...全文
511 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingwadaxia_1 2018-01-27
  • 打赏
  • 举报
回复
引用 16 楼 qingwadaxia_1 的回复:
[quote=引用 14 楼 jslang 的回复:] 更正下。一开始忽略时差了,d.getTime()是0时区的时间,我们中国在+8时区。要加8小时才是0点, das-(d.getTime()+8*60*60*1000)%das 你要定时其它时间在8的增减时差就可以了
引用 14 楼 jslang 的回复:
更正下。一开始忽略时差了,d.getTime()是0时区的时间,我们中国在+8时区。要加8小时才是0点, das-(d.getTime()+8*60*60*1000)%das 你要定时其它时间在8的增减时差就可以了
das-(d.getTime()+5*60*60*1000)%das 大神 那这就是中午1点了是吗[/quote]错了 是不是这样: das-((d.getTime()+8)-(13*60*60*1000)%das
qingwadaxia_1 2018-01-27
  • 打赏
  • 举报
回复
引用 14 楼 jslang 的回复:
更正下。一开始忽略时差了,d.getTime()是0时区的时间,我们中国在+8时区。要加8小时才是0点, das-(d.getTime()+8*60*60*1000)%das 你要定时其它时间在8的增减时差就可以了
引用 14 楼 jslang 的回复:
更正下。一开始忽略时差了,d.getTime()是0时区的时间,我们中国在+8时区。要加8小时才是0点, das-(d.getTime()+8*60*60*1000)%das 你要定时其它时间在8的增减时差就可以了
das-(d.getTime()+5*60*60*1000)%das 大神 那这就是中午1点了是吗
qingwadaxia_1 2018-01-27
  • 打赏
  • 举报
回复
引用 18 楼 jslang 的回复:
中午1点是 das-(d.getTime()-5*60*60*1000)%das
谢谢您
天际的海浪 2018-01-27
  • 打赏
  • 举报
回复
中午1点是 das-(d.getTime()-5*60*60*1000)%das
qingwadaxia_1 2018-01-26
  • 打赏
  • 举报
回复
引用 11 楼 jslang 的回复:
[quote=引用 9 楼 qingwadaxia_1 的回复:] [quote=引用 3 楼 jslang 的回复:]

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
大神,请问我如何实现让它每天凌晨0点自动刷新 运行一下[/quote]

<!doctype html>
<html lang="en">
	
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>
  <script>
var cc = document.getElementById("cc");
var tempHref = cc.href;
function rehref() {
	var d = new Date();
	d.setDate(d.getDate()+1);
	var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
	cc.href = tempHref.replace(/\{date\}/g,str);
	var das = 24*60*60*1000;
	setTimeout(rehref, das-d.getTime()%das);
}
rehref();
  </script>
 </body>
</html>

[/quote]大神,不好意思 我回复错楼层了 有问题的是2楼的 大神 我想请问下 var das = 24*60*60*1000; setTimeout(rehref, das-d.getTime()%das); das 结果是全天时间的毫秒数,d.getTime() 是我们现在距离1970年的毫秒数 为什么现在距离1970年的毫秒数 除以1天的毫秒数 然后1天的毫秒数减去这个结果 可以等于凌晨0点 如果我想指定的不是凌晨0点 是中午1点 或者 早上10年 又如何求呢 这有个什么计算公式去套吗
qingwadaxia_1 2018-01-26
  • 打赏
  • 举报
回复
引用 13 楼 jslang 的回复:
getTime()毫秒数是从1970年1月1日0点整开始计算的。除以1天的毫秒数取余数就是这一天中过去的毫秒数,然后用1天的毫秒数减去这个结果,就成了现在距离明天0点整的毫秒数。正好用于setTimeout的定时时间。 想指定的是中午1点。只要在getTime()值的基础上补个时差就行。 setTimeout(rehref, das-(d.getTime()-13*60*60*1000)%das);
谢您了 已经复制下来 好好理解下
天际的海浪 2018-01-26
  • 打赏
  • 举报
回复
更正下。一开始忽略时差了,d.getTime()是0时区的时间,我们中国在+8时区。要加8小时才是0点, das-(d.getTime()+8*60*60*1000)%das 你要定时其它时间在8的增减时差就可以了
天际的海浪 2018-01-26
  • 打赏
  • 举报
回复
getTime()毫秒数是从1970年1月1日0点整开始计算的。除以1天的毫秒数取余数就是这一天中过去的毫秒数,然后用1天的毫秒数减去这个结果,就成了现在距离明天0点整的毫秒数。正好用于setTimeout的定时时间。 想指定的是中午1点。只要在getTime()值的基础上补个时差就行。 setTimeout(rehref, das-(d.getTime()-13*60*60*1000)%das);
天际的海浪 2018-01-25
  • 打赏
  • 举报
回复
引用 9 楼 qingwadaxia_1 的回复:
[quote=引用 3 楼 jslang 的回复:]

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
大神,请问我如何实现让它每天凌晨0点自动刷新 运行一下[/quote]

<!doctype html>
<html lang="en">
	
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>
  <script>
var cc = document.getElementById("cc");
var tempHref = cc.href;
function rehref() {
	var d = new Date();
	d.setDate(d.getDate()+1);
	var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
	cc.href = tempHref.replace(/\{date\}/g,str);
	var das = 24*60*60*1000;
	setTimeout(rehref, das-d.getTime()%das);
}
rehref();
  </script>
 </body>
</html>

天际的海浪 2018-01-25
  • 打赏
  • 举报
回复
引用 5 楼 qingwadaxia_1 的回复:
[quote=引用 3 楼 jslang 的回复:]

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
谢谢您,您这个有点问题, 就是好像不会自动加月份 会32 33一直加下去[/quote] 不会,Date对象的月、日值如果超出范围会自动调整成相对的有效日期
qingwadaxia_1 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
大神,请问我如何实现让它每天凌晨0点自动刷新 运行一下
qingwadaxia_1 2018-01-25
  • 打赏
  • 举报
回复
引用 6 楼 superwfei 的回复:
[quote=引用 4 楼 qingwadaxia_1 的回复:] 谢谢您了,请问如何到了0点 自动更新 而不需要去刷新网页
自己做个定时器,使用setTimeout到半夜自动再运行一次[/quote]谢谢
qingwadaxia_1 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
莫名其妙的信任,还没试感觉就没问题。
文盲老顾 2018-01-25
  • 打赏
  • 举报
回复
引用 4 楼 qingwadaxia_1 的回复:
谢谢您了,请问如何到了0点 自动更新 而不需要去刷新网页
自己做个定时器,使用setTimeout到半夜自动再运行一次
qingwadaxia_1 2018-01-25
  • 打赏
  • 举报
回复
引用 2 楼 usecf 的回复:
<!doctype html> <html> <head> <meta charset="UTF-8"/> <title>Document</title> </head> <body> <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin=2018-01-25&end=2018-01-25">aadfasdfasd </a> </body> </html> <script type="text/javascript"> var time = new Date(); // 程序计时的月从0开始取值后+1 var m = time.getMonth() + 1; var t = time.getFullYear() + "-" + m + "-" + (time.getDate()+1); var aObj = document.getElementById('cc'); aObj.href ="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin="+t+"&end="+t </script>
谢谢您了,请问如何到了0点 自动更新 而不需要去刷新网页
qingwadaxia_1 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
谢谢您,您这个有点问题, 就是好像不会自动加月份 会32 33一直加下去
天际的海浪 2018-01-25
  • 打赏
  • 举报
回复

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
 </head>
 <body>
  <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin={date}&end={date}"></a>

  <script>
var cc = document.getElementById("cc");
var d = new Date();
d.setDate(d.getDate()+1);
var str = d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2);
cc.href = cc.href.replace(/\{date\}/g,str);
  </script>
 </body>
</html>
usecf 2018-01-25
  • 打赏
  • 举报
回复
<!doctype html> <html> <head> <meta charset="UTF-8"/> <title>Document</title> </head> <body> <a id="cc" href="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin=2018-01-25&end=2018-01-25">aadfasdfasd </a> </body> </html> <script type="text/javascript"> var time = new Date(); // 程序计时的月从0开始取值后+1 var m = time.getMonth() + 1; var t = time.getFullYear() + "-" + m + "-" + (time.getDate()+1); var aObj = document.getElementById('cc'); aObj.href ="http://abc.efg.com:16578/system/ggwrw.hasdzv?isHuawuList=0&createUserId=0&huawuUserId=0&name=&tel=&diseases=%E6A%E9%80%89%E6A9&quality=%E6%9C%AA%E9ye%A9&datetype=2&begin="+t+"&end="+t </script>
天际的海浪 2018-01-25
  • 打赏
  • 举报
回复
取日期,最好是取服务器的日期,在服务器端生成url。因为客户端的日期有可能不准确。

87,997

社区成员

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

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