Javascript href url的每周日期更改
我每周出版一份时事通讯,文件路径相同,除了日期之外,文件名也相似。我每周(7天)出版通讯。因此,每7天我必须改变链接,并增加7天的日期。日期需要被引用,所以我不能仅仅将文件添加为“新闻稿”,它必须是“../newsletter DDMMYY.pdf”Javascript href url的每周日期更改,javascript,Javascript,我每周出版一份时事通讯,文件路径相同,除了日期之外,文件名也相似。我每周(7天)出版通讯。因此,每7天我必须改变链接,并增加7天的日期。日期需要被引用,所以我不能仅仅将文件添加为“新闻稿”,它必须是“../newsletter DDMMYY.pdf” 如何使用javascript更改上述url的日期部分(计划每7天更改一次)?是一个非常适合这种情况的库: 将7天添加到日期: moment("040314", "DDMMYY").add('d',7).format("DDMMYY") 或一周
如何使用javascript更改上述url的日期部分(计划每7天更改一次)?是一个非常适合这种情况的库:
将7天添加到日期:
moment("040314", "DDMMYY").add('d',7).format("DDMMYY")
或一周:
moment("040314", "DDMMYY").add('w',1).format("DDMMYY")
相同输出:
"110314"
下面是一个纯javascript解决方案
<body>
<a id="newsletter">Weekly Newsletter</a>
<script>
function getNewsletterDate () {
var DAY_OF_NEWSLETTER = 6 // 0 for Sunday, 1 for Monday, 2 for Tuesday, 3 for Wednesday, 4 for Thursday, 5 for Friday, 6 for Saturday
var day = 24 * 60 * 60 * 1000;
var date = new Date();
var dayOfWeek = date.getDay();
date = new Date(date.getTime() - (dayOfWeek - DAY_OF_NEWSLETTER) * day);
if (date > new Date()) date = new Date(date - 7 * day)
return date;
}
function updateNewsletterLink() {
var date = getNewsletterDate();
var link = document.getElementById('newsletter');
var href = '/newsletter-' + ('0' + date.getDate()).slice(-2) + ('0' + (date.getMonth() + 1)).slice(-2) + (''+date.getYear()).slice(-2);
link.href = href;
}
updateNewsletterLink();
</script>
</body>
时事通讯周刊
函数getNewsletterDate(){
var DAY_OF_NEWSLETTER=6//0表示周日,1表示周一,2表示周二,3表示周三,4表示周四,5表示周五,6表示周六
var日=24*60*60*1000;
变量日期=新日期();
var dayOfWeek=date.getDay();
日期=新日期(date.getTime()-(dayOfWeek-DAY OfU新闻稿)*天);
如果(日期>新日期())日期=新日期(日期-7*天)
返回日期;
}
函数updatenewslettlink(){
var date=getNewsletterDate();
var link=document.getElementById(“时事通讯”);
var href='/newsletter-'+('0'+date.getDate()).slice(-2)+('0'+(date.getMonth()+1)).slice(-2)+('+date.getYear()).slice(-2);
link.href=href;
}
updatenewslettlink();
最难的部分是什么,更改href
,每7天查找一次或格式化一个日期?全部的听起来像是服务器端的任务,而不是JS。
<body>
<a id="newsletter">Weekly Newsletter</a>
<script>
function getNewsletterDate () {
var DAY_OF_NEWSLETTER = 6 // 0 for Sunday, 1 for Monday, 2 for Tuesday, 3 for Wednesday, 4 for Thursday, 5 for Friday, 6 for Saturday
var day = 24 * 60 * 60 * 1000;
var date = new Date();
var dayOfWeek = date.getDay();
date = new Date(date.getTime() - (dayOfWeek - DAY_OF_NEWSLETTER) * day);
if (date > new Date()) date = new Date(date - 7 * day)
return date;
}
function updateNewsletterLink() {
var date = getNewsletterDate();
var link = document.getElementById('newsletter');
var href = '/newsletter-' + ('0' + date.getDate()).slice(-2) + ('0' + (date.getMonth() + 1)).slice(-2) + (''+date.getYear()).slice(-2);
link.href = href;
}
updateNewsletterLink();
</script>
</body>