保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
'use strict';
 
var GetIntrinsic = require('get-intrinsic');
 
var $EvalError = GetIntrinsic('%EvalError%');
 
var DayWithinYear = require('./DayWithinYear');
var InLeapYear = require('./InLeapYear');
var MonthFromTime = require('./MonthFromTime');
 
// https://262.ecma-international.org/5.1/#sec-15.9.1.5
 
module.exports = function DateFromTime(t) {
    var m = MonthFromTime(t);
    var d = DayWithinYear(t);
    if (m === 0) {
        return d + 1;
    }
    if (m === 1) {
        return d - 30;
    }
    var leap = InLeapYear(t);
    if (m === 2) {
        return d - 58 - leap;
    }
    if (m === 3) {
        return d - 89 - leap;
    }
    if (m === 4) {
        return d - 119 - leap;
    }
    if (m === 5) {
        return d - 150 - leap;
    }
    if (m === 6) {
        return d - 180 - leap;
    }
    if (m === 7) {
        return d - 211 - leap;
    }
    if (m === 8) {
        return d - 242 - leap;
    }
    if (m === 9) {
        return d - 272 - leap;
    }
    if (m === 10) {
        return d - 303 - leap;
    }
    if (m === 11) {
        return d - 333 - leap;
    }
    throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m);
};