mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-28 04:02:12 +00:00
LInt mockdate helper
This commit is contained in:
parent
3659b5b5c9
commit
4e4d3418b3
@ -6,88 +6,88 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
(function(name, definition) {
|
(function(name, definition) {
|
||||||
if (typeof module !== 'undefined') module.exports = definition();
|
if (typeof module !== "undefined") {module.exports = definition();}
|
||||||
else if (typeof define === 'function' && typeof define.amd === 'object') define(definition);
|
else if (typeof define === "function" && typeof define.amd === "object") {define(definition);}
|
||||||
else this[name] = definition();
|
else {this[name] = definition();}
|
||||||
}('MockDate', function() {
|
}("MockDate", function() {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var _Date = Date
|
var _Date = Date
|
||||||
, _getTimezoneOffset = Date.prototype.getTimezoneOffset
|
, _getTimezoneOffset = Date.prototype.getTimezoneOffset
|
||||||
, now = null
|
, now = null
|
||||||
;
|
;
|
||||||
|
|
||||||
function MockDate(y, m, d, h, M, s, ms) {
|
function MockDate(y, m, d, h, M, s, ms) {
|
||||||
var date;
|
var date;
|
||||||
|
|
||||||
switch (arguments.length) {
|
switch (arguments.length) {
|
||||||
|
|
||||||
case 0:
|
case 0:
|
||||||
if (now !== null) {
|
if (now !== null) {
|
||||||
date = new _Date(now);
|
date = new _Date(now);
|
||||||
} else {
|
} else {
|
||||||
date = new _Date();
|
date = new _Date();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
date = new _Date(y);
|
date = new _Date(y);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
d = typeof d === 'undefined' ? 1 : d;
|
d = typeof d === "undefined" ? 1 : d;
|
||||||
h = h || 0;
|
h = h || 0;
|
||||||
M = M || 0;
|
M = M || 0;
|
||||||
s = s || 0;
|
s = s || 0;
|
||||||
ms = ms || 0;
|
ms = ms || 0;
|
||||||
date = new _Date(y, m, d, h, M, s, ms);
|
date = new _Date(y, m, d, h, M, s, ms);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
MockDate.UTC = _Date.UTC;
|
MockDate.UTC = _Date.UTC;
|
||||||
|
|
||||||
MockDate.now = function() {
|
MockDate.now = function() {
|
||||||
return new MockDate().valueOf();
|
return new MockDate().valueOf();
|
||||||
};
|
};
|
||||||
|
|
||||||
MockDate.parse = function(dateString) {
|
MockDate.parse = function(dateString) {
|
||||||
return _Date.parse(dateString);
|
return _Date.parse(dateString);
|
||||||
};
|
};
|
||||||
|
|
||||||
MockDate.toString = function() {
|
MockDate.toString = function() {
|
||||||
return _Date.toString();
|
return _Date.toString();
|
||||||
};
|
};
|
||||||
|
|
||||||
MockDate.prototype = _Date.prototype;
|
MockDate.prototype = _Date.prototype;
|
||||||
|
|
||||||
function set(date, timezoneOffset) {
|
function set(date, timezoneOffset) {
|
||||||
var dateObj = new Date(date)
|
var dateObj = new Date(date);
|
||||||
if (isNaN(dateObj.getTime())) {
|
if (isNaN(dateObj.getTime())) {
|
||||||
throw new TypeError('mockdate: The time set is an invalid date: ' + date)
|
throw new TypeError("mockdate: The time set is an invalid date: " + date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof timezoneOffset === 'number') {
|
if (typeof timezoneOffset === "number") {
|
||||||
MockDate.prototype.getTimezoneOffset = function() {
|
MockDate.prototype.getTimezoneOffset = function() {
|
||||||
return timezoneOffset;
|
return timezoneOffset;
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Date = MockDate;
|
Date = MockDate;
|
||||||
|
|
||||||
now = dateObj.valueOf();
|
now = dateObj.valueOf();
|
||||||
}
|
}
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
Date = _Date;
|
Date = _Date;
|
||||||
Date.prototype.getTimezoneOffset = _getTimezoneOffset
|
Date.prototype.getTimezoneOffset = _getTimezoneOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
set: set,
|
set: set,
|
||||||
reset: reset
|
reset: reset
|
||||||
};
|
};
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user