sub :: String -> Number -> Date -> Date

Returns a copy of the supplied date with the specified modification. Returns an Invalid Date if the modification results in an invalid date.

const date = new Date('2001-01-01 01:01:01.1');
D.sub('milliseconds', 1, date); // 2001-01-01 01:01:01.0
D.sub('seconds', 1, date); // 2001-01-01 01:01:00.1
D.sub('minutes', 1, date); // 2001-01-01 01:00:01.1
D.sub('hours', 1, date); // 2001-01-01 00:01:01.1
D.sub('days', 1, date); // 2000-12-31 01:01:01.1
D.sub('month', 1, date); // 2000-12-01 01:01:01.1
D.sub('year', 1, date); // 2000-01-01 01:01:01.1