|
1 | 1 | "use strict";
|
2 | 2 |
|
| 3 | +var createUTC = function (y, mo, d, h, m, s, ms) { |
| 4 | + var date = new Date(Date.UTC(y, mo, d, h, m, s, ms)); |
| 5 | + if (y >= 0 && y < 100) { |
| 6 | + date.setUTCFullYear(y); |
| 7 | + } |
| 8 | + return date.getTime(); |
| 9 | +}; |
| 10 | + |
3 | 11 | exports.calcDiff = function (rec1, rec2) {
|
4 |
| - var msUTC1 = Date.UTC(rec1.year, rec1.month - 1, rec1.day, rec1.hour, rec1.minute, rec1.second, rec1.millisecond); |
5 |
| - var msUTC2 = Date.UTC(rec2.year, rec2.month - 1, rec2.day, rec2.hour, rec2.minute, rec2.second, rec2.millisecond); |
| 12 | + var msUTC1 = createUTC(rec1.year, rec1.month - 1, rec1.day, rec1.hour, rec1.minute, rec1.second, rec1.millisecond); |
| 13 | + var msUTC2 = createUTC(rec2.year, rec2.month - 1, rec2.day, rec2.hour, rec2.minute, rec2.second, rec2.millisecond); |
6 | 14 | return msUTC1 - msUTC2;
|
7 | 15 | };
|
8 | 16 |
|
9 | 17 | exports.adjustImpl = function (just) {
|
10 | 18 | return function (nothing) {
|
11 | 19 | return function (offset) {
|
12 | 20 | return function (rec) {
|
13 |
| - var msUTC = Date.UTC(rec.year, rec.month - 1, rec.day, rec.hour, rec.minute, rec.second, rec.millisecond); |
| 21 | + var msUTC = createUTC(rec.year, rec.month - 1, rec.day, rec.hour, rec.minute, rec.second, rec.millisecond); |
14 | 22 | var dt = new Date(msUTC + offset);
|
15 | 23 | return isNaN(dt.getTime()) ? nothing : just({
|
16 | 24 | year: dt.getUTCFullYear(),
|
|
0 commit comments