我正在编写一个查看一组文件的脚本,检查它们是否在“@due”标签内有任何行,后跟日期范围,然后将这些行打印到单独的文件中。(基本上,我有一组文本文件,其中包含有到期日期的项目,我想要一份关于过期、今天到期和未来 4 天内到期的每日概要。)
现在,我正在用生硬的力量这样做:
tom1 = (Time.now + 86400).strftime('%Y-%m-%d')
tom2 = (Time.now + (86400 * 2)).strftime('%Y-%m-%d')
tom3 = (Time.now + (86400 * 3)).strftime('%Y-%m-%d')
等等,然后:
if line =~ /@due\(#{tom1}\)/
found_completed = true
project += line.gsub(/@due\(.*?\)/,'').strip + " **1 day**" + "\n" + "\t"
end
if line =~ /@due\(#{tom2}\)/
found_completed = true
project += line.gsub(/@due\(.*?\)/,'').strip + " **2 days**" + "\n" + "\t"
end
等等等等。
我在过去 30 天、今天和未来 4 天都这样做。我想知道,也许我需要“日期”而不是“时间”,然后设置某种范围,如果没有更优雅的方式来做到这一点。
谢谢!