【问题标题】:Get all year dates for a specific day获取特定日期的全年日期
【发布时间】:2012-12-11 09:30:20
【问题描述】:

如果我们给它一个开始日期,是否有一种算法[或javascript代码]可以获取一年中特定日期的所有日期

例如:

输入:2012 年 12 月 11 日,星期二。

输出:2012 年 12 月 18 日、2012 年 12 月 25 日、2013 年 1 月 1 日 .... 等

【问题讨论】:

  • 我不明白为什么“2012 年 2 月 1 日”... 你的意思是“2013 年 1 月 1 日”吗?
  • 希望这个网址对你有帮助stackoverflow.com/questions/2045736/…
  • @elclanrs 是的,我的意思是 2013 年 1 月,对不起。
  • @anujarora 谢谢,我会尽力理解它:)

标签: javascript algorithm date getdate


【解决方案1】:

这有多难?

var d1 = new Date('Tuesday , Dec, 11 2012');

for (var i = 0; i < 365; i += 7) {
    d1.setDate(d1.getDate() + 7)
    console.log(d1);  //outputs every tuesday for the next year
}

FIDDLE

【讨论】:

  • 哇,我喜欢你的回答.. 非常感谢!
【解决方案2】:

与adeno 的回答非常相似。打败我,但我仍然会分享它。 =p

var getDaysInYear = function(day, year) {
    var startDate = new Date(day + " " + year);
    var date = startDate;
    var dates = [];

    while (date.getFullYear() == year) {
        dates.push(date.toDateString()); // change this to change the output
        date.setTime(date.getTime() + 1000 * 7 * 24 * 60 * 60);
    }

    return dates;
};

// Returns an array of whatever is in dates.push().
var dates = getDaysInYear("Tuesday", 2013);
console.log(dates);

FIDDLE

【讨论】:

    猜你喜欢
    • 2017-01-19
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多