static DateTime stepFunc(DateTime date, int steps, int preferDay) { if (!steps.isNegative) return _add(date, steps, preferDay); return _subtract(date, steps, preferDay); }