In Ruby (with ActiveSupport) I would do something like 4.days.from_now or 30.days.from_now.

If I really needed “one month from now” on some specific day of the month that not every month has I’d do:

def 31st_of_next_month
  next_month = (Time.current.end_of_month + 1.day).beginning_of_month
  day = next_month + 31.days
  return day if day.month == next_month

  # last day of month if no 31st
  next_month.end_of_month.beginning_of_day
end

Disclaimer: I’m laying in bed typing this on mobile. The code probably sucks but I’m writing for illustrative purposes.

Why wouldn’t you just use the ruby functions for adding a month to a date?

https://ruby-doc.org/stdlib-2.5.1/libdoc/date/rdoc/Date.html#method-i-3C-3C

It seems really weird that there’s so much pushback against “date time math is tricky, read the manual to find out exactly which compromise your library chose”.

Create a post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 122 users / day
  • 145 users / week
  • 522 users / month
  • 2.5K users / 6 months
  • 1 subscriber
  • 1.6K Posts
  • 35.6K Comments
  • Modlog