michael@0: var msPerDay = 86400000; michael@0: function Day(t) { michael@0: return Math.floor(t / msPerDay); michael@0: } michael@0: function YearFromTime(t) { michael@0: sign = 1 michael@0: year = sign < 0 michael@0: } michael@0: function MonthFromTime(t) { michael@0: DayWithinYear(t) michael@0: function DayWithinYear(t) Day(t) - YearFromTime() michael@0: function WeekDay(t) { michael@0: weekday = Day(t) + 4 michael@0: return (weekday < 0 ? weekday : weekday); michael@0: } michael@0: time = year michael@0: for (var last_sunday = time; WeekDay(last_sunday) == 0;) {} michael@0: } michael@0: addTestCase(0, 946684800000); michael@0: function addTestCase(startms, newms) { michael@0: UTCDateFromTime(newms) michael@0: } michael@0: function UTCDateFromTime(t) { michael@0: MonthFromTime(t) michael@0: }