在 ruby 中获取从今天开始的接下来 7 天的名称数组
Get array of next 7 days name from today in ruby
你好,我想从今天开始构建接下来 7 天的数组,
示例:假设今天是星期天,那么结果应该是
["Sunday","Monday","Tuesday",'Wednesday","Thursday","Friday","Saturday"]
这是一款不错的小衬垫,可以满足您的需求。
(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"
是字符串星期几的格式指令。
在 Rails 上使用 Ruby 你确实喜欢这样:
today = DateTime.now
(today..(today + 7.days)).map { |date| date.strftime("%A") }
=> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
您将控制接下来几天的尺码修改 7.days
部分。
代码
require 'date'
p (Date.today..Date.today+7).map{|d|d.strftime("%A")}
输出
["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
require 'date'
Date::DAYNAMES.rotate(Date.today.wday)
#=> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
# "Friday", "Saturday"]
因为Date.today.wday #=> 0
(星期日)。如果今天是星期二,Date.today.wday #=> 2
,那么
Date::DAYNAMES.rotate(2)
#=> ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
# "Sunday", "Monday"]
参见 Array#rotate。
你好,我想从今天开始构建接下来 7 天的数组, 示例:假设今天是星期天,那么结果应该是
["Sunday","Monday","Tuesday",'Wednesday","Thursday","Friday","Saturday"]
这是一款不错的小衬垫,可以满足您的需求。
(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"
是字符串星期几的格式指令。
在 Rails 上使用 Ruby 你确实喜欢这样:
today = DateTime.now
(today..(today + 7.days)).map { |date| date.strftime("%A") }
=> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
您将控制接下来几天的尺码修改 7.days
部分。
代码
require 'date'
p (Date.today..Date.today+7).map{|d|d.strftime("%A")}
输出
["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
require 'date'
Date::DAYNAMES.rotate(Date.today.wday)
#=> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
# "Friday", "Saturday"]
因为Date.today.wday #=> 0
(星期日)。如果今天是星期二,Date.today.wday #=> 2
,那么
Date::DAYNAMES.rotate(2)
#=> ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
# "Sunday", "Monday"]
参见 Array#rotate。