• ☆ Yσɠƚԋσʂ ☆@lemmygrad.ml
    ·
    1 year ago

    This is literally how every sane API works in languages built by adults. For example, here's what happens in Java:

    java.time.LocalDate.of(2023, 3, 31)
    > #object[java.time.LocalDate 0x2bc77260 "2023-03-31"]
    java.time.LocalDate.of(2023, 3, 31).minusMonths(1)
    > #object[java.time.LocalDate 0xac0dc15 "2023-02-28"]
    java.time.LocalDate.of(2023, 3, 31).minusMonths(2)
    > #object[java.time.LocalDate 0x44b9305f "2023-01-31"]
    

    I have no idea where people get this notion that a month isn't a defined size. Do people just not understand the concept of a month?