tt_DATEEND function

dynamic tt_DATEEND(
  1. dynamic v1,
  2. dynamic v2
)

tt_DATEEND(date, unit): end of a period; unit='M'=end of month/'Y'=end of year

Implementation

dynamic tt_DATEEND(dynamic v1, dynamic v2) {
  final d = _vToDateTime(v1);
  if (d == null) return null;
  var u = varToStr(v2).trim().toUpperCase();
  if (u.isEmpty) u = 'M';
  switch (u[0]) {
    case 'M': return DateTime(d.year, d.month + 1, 0);
    case 'Y': return DateTime(d.year, 12, 31);
    default: return d;
  }
}