在红宝石中跳过日期

13aal

我正在创建一个程序,它将使向用户发送电子邮件的任务变得更容易,但是我需要找出一种跳过周六和周日的方法,在我们待处理的电子邮件过程中,给用户6天的回复时间,因此我需要的是让Ruby的Date班级跳过周六和周日并保持6天(不包括周末)的准确计数的方法。

例如:

require 'date'

date = Date.today
#=> #<Date: 2016-05-06 ((2457515j,0s,0n),+0s,2299161j)>
new_date = date + 6
#=> #<Date: 2016-05-12 ((2457521j,0s,0n),+0s,2299161j)>
new_date.strftime('%A')
#=> "Thursday"
date.strftime('%A')
#=> "Friday"

显然,此示例计算周六和周日,因此如何跳过这两天并保持计数准确?

多伯特

这是您对需求的描述到Ruby中的字面翻译:

require "date"

p today = Date.today
p (1..Float::INFINITY)
  .lazy
  .map { |offset| today + offset }
  .reject { |date| date.saturday? || date.sunday? }
  .drop(5)
  .next

该代码创建从明天开始的所有天的惰性枚举,拒绝所有星期六和星期日,删除接下来的5个有效候选者,并返回下一个。

输出:

#<Date: 2016-05-06 ((2457515j,0s,0n),+0s,2299161j)>
#<Date: 2016-05-16 ((2457525j,0s,0n),+0s,2299161j)>

快速浏览一下日历,可以看到输出正确。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何跳过.map中的空格。红宝石

来自分类Dev

GNUPlot Xrange使用红宝石中的日期

来自分类Dev

红宝石中的聚类算法跳过数组索引

来自分类Dev

如何从红宝石中的日期时间迭代小时

来自分类Dev

红宝石ERB比较日期

来自分类Dev

红宝石日期宝石utc偏移

来自分类Dev

红宝石日期宝石utc偏移

来自分类Dev

如何基于当前周红宝石中的日期获取上周开始日期和结束日期

来自分类Dev

红宝石中的<<-是什么?

来自分类Dev

反射在红宝石中?

来自分类Dev

用红宝石中的\\替换`\`

来自分类Dev

红宝石中的数组更新

来自分类Dev

排序红宝石中的数字

来自分类Dev

垃圾收集在红宝石中?

来自分类Dev

红宝石中的内存分配

来自分类Dev

红宝石中的Trim()方法?

来自分类Dev

在红宝石数组中搜索

来自分类Dev

红宝石中的数组更新

来自分类Dev

澄清红宝石中的常数

来自分类Dev

红宝石中的文件索引

来自分类Dev

红宝石中的Haversine公式

来自分类Dev

在红宝石中尝试方法

来自分类Dev

用日期列导出红宝石中的excel 2003(xls)文件(单元格格式=日期)

来自分类Dev

红宝石缩写日期-如何订购

来自分类Dev

如何在UTC中的过去日期的Rails条件下编写红宝石?

来自分类Dev

红宝石和铁轨中的资源路线

来自分类常见问题

%i或%I在红宝石中做什么?

来自分类Dev

在红宝石数组中查找行

来自分类Dev

红宝石中的嵌套作业