При разработке решений может возникнуть необходимость сортировки массива по дате и времени.
Для удобства разработки и переиспользования сортировка вынесена в методы для системных типов TDate и TDatetime с возможностью указания порядка сортировки.
Немного упрощенное сравнение значений на подобие логике сравнения дат на фронте.
	Код:
	
function dateSort(a: TDate | undefined, b: TDate | undefined, ascending = true) {
    return datetimeSort(a?.asDatetime(new TTime(0, 0, 0, 0)), b?.asDatetime(new TTime(0, 0, 0, 0)), ascending);
}
function datetimeSort(a: TDatetime | undefined, b: TDatetime | undefined, ascending = true) {
    const x = a?.asDate() ?? new Date(-8640000000000000);
    const y = b?.asDate() ?? new Date(-8640000000000000);
    return ascending ? x.valueOf() - y.valueOf() : y.valueOf() - x.valueOf();
}