57 Stimmen

Ruby-Code, um das Datum des nächsten Montags (oder eines beliebigen Wochentags) zu ermitteln

Bei einer Eingabe von z.B.,

day = 'Monday'

wie kann ich das Datum der nächsten day ?

def date_of_next(day)
  ...
end

14voto

Hannu Punkte 151

Wenn Sie Rails verwenden, können Sie Date.today.sunday für Sonntag oder Date.today.monday für Montag. Und dann Date.today.sunday - 1.day für Samstag usw.

5voto

Milo P Punkte 1285

Eine mit Rails 4 kompatible Lösung:

(Date.today + 1.week).beginning_of_week(:monday)

wo Sie den Tag, den Sie suchen möchten, als Symbolargument angeben können; der Standardwert ist :monday .

Beachten Sie, dass dies die nächste Auftreten des gegebenen Tages - wenn heute Montag ist und Sie nach dem nächsten Montag suchen, wird der Montag in der nächsten Woche angezeigt.

Einige gleichwertige Möglichkeiten, dies zu tun:

1.week.from_now.beginning_of_week(:monday).to_date

1.week.since(Date.today).beginning_of_week(:monday)

(Quelle: https://apidock.com/rails/Date/beginning_of_week/class )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X