Monkeypatch объект даты JavasScript
Я знаю, что это сумасшедший взлом, но мне все равно интересно. У нас есть среда с неправильным системным временем, и мы не можем установить ее на правильное время. Это специализированное оборудование, поэтому мы не можем изменить системное время. Однако у нас есть сервис, который дает нам правильное текущее время. Наша проблема заключается в том, что куча библиотек подписи ssl и токенов перестают работать, потому что они получают неверное значение datetime из объекта Date в javascript (поскольку у нас неверное системное время).
Как можно обезопасить конструктор объекта Date, чтобы мы могли указать правильное время для инициализации, чтобы все последующие вызовы Date (), Date.toString () и т. Д. ... в зависимых библиотеках возвращали наш новый метод что возвращает правильное не системное время?
Будет ли это работать?
var oldDate = Date;
Date = function(){
return new oldDate(specialCallToGetCorrectTime());
}
Date.prototype = oldDate.prototype;