首页 > 解决方案 > 从今天开始在 ruby​​ 中获取接下来 7 天的名称数组

问题描述

嗨,我想从今天开始形成一个接下来 7 天的数组,例如:假设今天是星期天,所以结果应该是

["Sunday","Monday","Tuesday",'Wednesday","Thursday","Friday","Saturday"]

标签: ruby-on-railsrubyruby-on-rails-6

解决方案


这是一个很好的小班轮做你想做的事。

(0..6).map{ |n| (Date.today+n).strftime("%A")}

假设今天是星期六,那将产生:

["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]

每个部分的快速解释: (0..6)创建一个数字数组:[0, 1, 2, 3, 4, 5, 6]

.map { |n| ... }是在上述数组上调用的函数,它一次将每个元素作为n.

(Date.today+n)是一个代表今天的对象(基于您的系统时钟)。它允许您向其添加一个数字以抵消日期,从而创建一个新对象。

最后.strftime("%A")}在偏移日期对象上调用以从日期对象生成字符串。这"%A"是字符串星期几的格式指令。


推荐阅读