<分区>
如何使用 Ruby 查找在当前日期之前的最后一个星期一结束的滚动年中每周星期一的日期,然后创建一个散列,其中每个键都是星期几,每个值都是 0 ?
标签 ruby
<分区>
如何使用 Ruby 查找在当前日期之前的最后一个星期一结束的滚动年中每周星期一的日期,然后创建一个散列,其中每个键都是星期几,每个值都是 0 ?
最佳答案
require 'date'
创建一个空哈希:
hash = {}
算出到前一个星期一的天数:
days_to_previous_monday = Date.today.wday - 1
days_to_previous_monday = 6 if days_to_previous_monday < 0
获取上周一:
date = Date.today - days_to_previous_monday
构建 53 个星期一的哈希值:
53.times { hash[date] = 0; date -= 7 }
按日期升序对哈希进行排序:
hash.sort.to_h
已编辑 - 包括 Cary Swoveland 的更正和建议..(两次!)
关于ruby - 如何使用 Ruby 查找滚动年中的所有星期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25128532/
相关文章:
ruby - 如何使用 Ruby twitter gem 获取给定 ID/句柄的关注者列表?
ruby-on-rails - Rails 3 中的多层嵌套布局
ruby - JRuby 的 Kernel#__method__ 实现是否损坏?
ruby-on-rails - 在 Ruby on Rails 中,如何为 ActiveRecord 对象的 member_of 成员分配默认值?
ruby - 在我的 Mac 上安装 ruby gem json 时遇到问题
ruby - 我如何在 refinerycms 中使用嵌套模型属性?
ruby-on-rails - 订阅 Rails 异常,使用 ActiveSupport::Notifications.subscribe