Левая -hand и правая сторона арифметической операции должны иметь тип "any", "number" или тип перечисления
Я получаю следующую ошибку. Я не могу выяснить, где именно я ошибся. Может кто-нибудь помочь мне с решением
Код
function() {
this.devices.forEach(device => {
let lastConnect = device.lastConnection.split('+');
lastConnect = lastConnect[0] + 'Z';
let diff = Math.abs(new Date() - new Date(lastConnect));//getting error here
}
Ответы
Ответ 1
Я выяснил эту проблему.
Этот код работает только в Javascript
Math.abs(new Date() - new Date(lastConnect)) .
Inorder, чтобы заставить его работать в Typcript. Обновите код, как показано ниже.
Math.abs(Date().getTime() - new Date(lastConnect).getTime());
Ответ 2
Самый простой ответ будет
Math.abs(<any>new Date() - <any>new Date(lastConnect));
Ответ 3
Еще один отличный способ:
Math.abs((new Date() as any) - (new Date(lastConnect) as any));
Ответ 4
Нет необходимости в Math.abs(), чтобы ответить на этот вопрос...
Просто использование метода getTime() преобразует дату в число (Date.prototype.getTime()), чтобы вы могли выполнить операцию без этой ошибки
Проверьте на этом примере