blob: a482a7df95f61c5c723bd70ceb220c4b5e06a2d3 [file] [log] [blame]
Tim van der Lippefdbd42e2020-04-07 14:14:361'use strict';
2
3var DayWithinYear = require('./DayWithinYear');
4var InLeapYear = require('./InLeapYear');
5
Tim van der Lippe2c891972021-07-29 15:22:506// https://262.ecma-international.org/5.1/#sec-15.9.1.4
Tim van der Lippefdbd42e2020-04-07 14:14:367
8module.exports = function MonthFromTime(t) {
9 var day = DayWithinYear(t);
10 if (0 <= day && day < 31) {
11 return 0;
12 }
13 var leap = InLeapYear(t);
14 if (31 <= day && day < (59 + leap)) {
15 return 1;
16 }
17 if ((59 + leap) <= day && day < (90 + leap)) {
18 return 2;
19 }
20 if ((90 + leap) <= day && day < (120 + leap)) {
21 return 3;
22 }
23 if ((120 + leap) <= day && day < (151 + leap)) {
24 return 4;
25 }
26 if ((151 + leap) <= day && day < (181 + leap)) {
27 return 5;
28 }
29 if ((181 + leap) <= day && day < (212 + leap)) {
30 return 6;
31 }
32 if ((212 + leap) <= day && day < (243 + leap)) {
33 return 7;
34 }
35 if ((243 + leap) <= day && day < (273 + leap)) {
36 return 8;
37 }
38 if ((273 + leap) <= day && day < (304 + leap)) {
39 return 9;
40 }
41 if ((304 + leap) <= day && day < (334 + leap)) {
42 return 10;
43 }
44 if ((334 + leap) <= day && day < (365 + leap)) {
45 return 11;
46 }
47};