寻找时间戳为今天的文件名-1

时间:2016-11-03 17:22:11

标签: ruby file ftp find timestamp

ftp.gettextfile('ReceiveLog_ABC-4444_yyyymmdd.log','upsmi.csv')

今天是20161103。

我如何获得ReceiveLog_ABC-4444_20161102.log

我想知道日期是20161201,如何查找20161130文件?

1 个答案:

答案 0 :(得分:2)

您可以使用日期库来处理此问题:

require 'date'

date_format = '%Y%m%d'
date = Date.parse('20161103', date_format)
# => #<Date: 2016-11-03 ((2457696j,0s,0n),+0s,2299161j)>

previous_date = date - 1
# => #<Date: 2016-11-02 ((2457695j,0s,0n),+0s,2299161j)>

previous_date.strftime(format)
# => "20161102"

它处理递增和递减以正确计算月份的长度和一年的开始/结束。