Обычно гораздо проще работать с датами, используя библиотеку Момент JS, поскольку она уже интегрирована в JHipster.
Если вы хотите узнать, находится ли дата в В будущем вы можете определить функцию в вашем [entity].component.ts
, которая возвращает логическое значение, например:
import * as moment from 'moment';
import { Moment } from 'moment';
...
isFutureDate(date: Moment): boolean {
return moment().isBefore(date);
}
Затем в вашем [entity].component.html
вы можете вызвать ее так:
<td>
Date is in the future: {{ isFutureDate(myclass.date) }}
</td>
Где myclass.date
- это дата, которую вы хотите проверить.
Если вам нужно просто узнать разницу между этой датой и сейчас, вы можете сделать это слишком легко. В вашем ...component.ts
:
import * as moment from 'moment';
import { Moment } from 'moment';
...
getDateDiff(date: Moment): number {
const diff = date.diff(moment());
const duration = moment.duration(diff);
return duration.asHours();
}
И в вашем ...component.html
:
<td>
Difference in hours: {{ getDateDiff(myclass.date) | number: '2.0-0' }} hours
</td>
В этом случае getDateDiff()
вернет разницу в часах между датой, которую вы передали в качестве аргумента (myclass.date
) и текущая дата (moment()
). Это будет отрицательное число, если дата проверки была в прошлом.
Момент JS - очень мощная библиотека, полную документацию можно посмотреть здесь . Кроме того, если вы хотите, документация относительно методов, которые я использовал:
- isBefore () : является ли дата раньше другой
- diff () : разница между двумя датами в миллисекундах
- duration () : Оболочка для простой работы с временами
- asHours () : Получить количество часов в продолжительности