href url的每周日期更改

时间:2014-04-04 08:38:47

标签: javascript

我发布了每周时事通讯,文件路径相同,文件名与日期相似。我每周都会发布时事通讯(7天)。因此,每隔7天我就必须更改链接,并在日期中添加7天。需要引用日期,所以我不能将文件添加为" newsletter"它必须是" ... / newsletter-DDMMYY.pdf"

<a href="/newsletter-040314">Weekly Newsletter</a>

如何使用javascript更改每7天计划的网址的日期部分?

2 个答案:

答案 0 :(得分:1)

moment.js是一个很棒的图书馆:

为日期添加7天:

moment("040314", "DDMMYY").add('d',7).format("DDMMYY")

或一周:

moment("040314", "DDMMYY").add('w',1).format("DDMMYY")

相同的输出:

"110314"

答案 1 :(得分:1)

这是一个纯粹的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>