File.(filename).mtime与Date.today(ruby)相同的输出格式

Rad*_*dek 2 ruby

我想减去File.mtimeDate.today的结果.时间周末被忽略.我喜欢的东西

Date.today - File.mtime

File.mtime给了我Fri Oct 08 11:00:18 +1100 2010 和Date.today2010-10-11

我认为to_s()对我有用File.mtime(filename).to_s给我相同的结果File.mtime(filename)

任何想法如何从File.mtime获得所需的日期格式?为什么to_s不起作用?

gho*_*g74 5

像这样的东西?

irb(main):001:0> File.mtime("file")
=> 2010-10-08 17:56:10 +0800
irb(main):002:0> File.mtime("file").year
=> 2010
irb(main):003:0> File.mtime("file").month
=> 10
irb(main):004:0> File.mtime("file").day
=> 8
Run Code Online (Sandbox Code Playgroud)

与Date类似

irb(main):001:0> require 'date'         
=> true                                 
irb(main):002:0> Date.today         
=> #<Date: 2010-10-11 (4910961/2,0,2299161)>
irb(main):003:0> Date.today.year            
=> 2010                                     
irb(main):004:0> Date.today.month
=> 10                            
irb(main):005:0> Date.today.day
=> 11     
Run Code Online (Sandbox Code Playgroud)

或者你可以使用 strftime

irb(main):001:0> File.mtime("file").strftime("%Y-%m-%d")
=> "2010-10-08"
Run Code Online (Sandbox Code Playgroud)