在ruby中仅获取当前月份之间的前一周

o8x7eapl  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(276)

在下面的代码中,我得到了上周的第一个日期和7月的最后一个日期,但我得到了6月28日作为上周的第一个日期。我想从7月1日到7月2日开始一周。我再也回不到上个月了。
每个工作日范围为周一至周五。

(Date.today - Date.today.wday - 6).strftime('%d %b') => "28 Jun" 
(Date.today - Date.today.wday - 2).strftime('%d %b') => "02 Jul"

你对此有什么建议吗?感谢所有的帮助。

s2j5cfk0

s2j5cfk01#

我不确定是否有一种方法可以解决这个问题。但以下是我对解决上述逻辑的看法

def previous_week_in_current_month(selected_date)
  previous_week_date = selected_date - 1.week
  (previous_week_date.month == selected_date.month) ? previous_week_date : selected_date
end

这个 previous_week_in_current_month 返回当前月份中当前_日期的前一周,如果提供的日期来自第一周,则返回当前日期。如果你愿意的话,也许你可以让它归零。

相关问题