URL中的动态日期元素

时间:2015-11-10 20:42:00

标签: jquery html sharepoint

我正在尝试创建一个div,用于指向SharePoint日历的链接,该日历将始终发送到下个月(例如,它目前是11月,但我希望被定向到12月)。我知道可以附加URL以指向特定日期,但目标是不必每个月更改代码。

这是我到目前为止(硬编码的具体日期):

<a href=" http://url.aspx?CalendarDate=12/1/2015&CalendarPeriod=month">
<div style="cursor: hand; position: absolute; top: 0; left: 1000; width: 415px; height: 515px;
background-color: white; z-index: 2; opacity: 0.4; filter: alpha(opacity = 0)">
</div>
</a>

如何创建一个更了解当前/下个月的动态网址?我无法弄清楚如何将getMonth()getFullYear()或任何其他此类方法连接到网址中。

2 个答案:

答案 0 :(得分:1)

getMonth()getFullYear()连接到网址并不困难。您只需在URL字符串中使用+运算符。

var year = new Date().getFullYear();
var month = new Date().getMonth() + 2;

if(new Date().getMonth() == 11) {
    // if already December, go to January and increment the year
    month = 1;
    year++;
}    

document.getElementById("link").href = "http://url.aspx?CalendarDate=" + month + "/1/" + year + "&CalendarPeriod=month";

注意:getMonth()会返回0-11(而不是1-12)中的数字 - 这就是+2似乎正确时+1的原因。

查看working example on JSFiddle.net

答案 1 :(得分:0)

感谢Jonathan,这是最终产品:

<a id="link">
<script>
var year = new Date().getFullYear();
var month = new Date().getMonth() + 2;



if(new Date().getMonth() == 11) {
// if already December, go to January and increment the year
month = 1;
year++;
}   

document.getElementById("link").href = "http://url.aspx?CalendarDate=" + month + "/1/" + year + "&CalendarPeriod=month";

</script>  
<div style="cursor: hand; position: absolute; top: 0; left: 580; width:         415px; height: 515px;
background-color: white; z-index: 2; opacity: 0.4; filter: alpha(opacity = 0)">
</div>
</a>