source: Dev/trunk/d3/examples/calendar/calendar.js @ 76

Last change on this file since 76 was 76, checked in by fpvanagthoven, 14 years ago

d3

File size: 1.1 KB
RevLine 
[76]1var calendar = {
2
3  format: d3.time.format("%Y-%m-%d"),
4
5  dates: function(year) {
6    var dates = [],
7        date = new Date(year, 0, 1),
8        week = 0,
9        day;
10    do {
11      dates.push({
12        day: day = date.getDay(),
13        week: week,
14        month: date.getMonth(),
15        Date: calendar.format(date)
16      });
17      date.setDate(date.getDate() + 1);
18      if (day === 6) week++;
19    } while (date.getFullYear() === year);
20    return dates;
21  },
22
23  months: function(year) {
24    var months = [],
25        date = new Date(year, 0, 1),
26        month,
27        firstDay,
28        firstWeek,
29        day,
30        week = 0;
31    do {
32      firstDay = date.getDay();
33      firstWeek = week;
34      month = date.getMonth();
35      do {
36        day = date.getDay();
37        if (day === 6) week++;
38        date.setDate(date.getDate() + 1);
39      } while (date.getMonth() === month);
40      months.push({
41        firstDay: firstDay,
42        firstWeek: firstWeek,
43        lastDay: day,
44        lastWeek: day === 6 ? week - 1 : week
45      });
46    } while (date.getFullYear() === year);
47    return months;
48  }
49
50};
Note: See TracBrowser for help on using the repository browser.