在Ruby中获取任何特定日期的年份的最佳方法是什么?例如:31/dec/2009应返回day 365,01/feb/2008应返回day 32
31/dec/2009
day 365
01/feb/2008
day 32
pcww981p1#
基本上(如irb所示):
>> require 'date' >> Date.today.to_s => "2009-11-19" >> Date.today.yday() => 323
任何日期:
>> Date.new(y=2009,m=12,d=31).yday => 365
或者:
>> Date.new(2012,12,31).yday => 366
标签:Ruby Documentation
2w3rbyxf2#
使用Date.new(year, month, day)为您需要的日期创建一个Date对象,然后使用yday获取一年中的第几天:
Date.new(year, month, day)
Date
yday
>> require 'date' => true >> Date.new(2009,12,31).yday => 365 >> Date.new(2009,2,1).yday => 32
wfsdck303#
您可以在不导入任何内容的情况下使用时间:
Time.new(1989,11,30).yday
或者现在:
Time.now.yday
nc1teljy4#
Date#yday是你正在寻找的。下面是一个例子:
Date#yday
require 'date' require 'test/unit' class TestDateYday < Test::Unit::TestCase def test_that_december_31st_of_2009_is_the_365th_day_of_the_year assert_equal 365, Date.civil(2009, 12, 31).yday end def test_that_february_1st_of_2008_is_the_32nd_day_of_the_year assert_equal 32, Date.civil(2008, 2, 1).yday end def test_that_march_1st_of_2008_is_the_61st_day_of_the_year assert_equal 61, Date.civil(2008, 3, 1).yday end end
pgvzfuti5#
您可能可以对civil_to_jd(y, m, d, sg=GREGORIAN)执行某些操作
civil_to_jd(y, m, d, sg=GREGORIAN)
5条答案
按热度按时间pcww981p1#
基本上(如irb所示):
任何日期:
或者:
标签:Ruby Documentation
2w3rbyxf2#
使用
Date.new(year, month, day)
为您需要的日期创建一个Date
对象,然后使用yday
获取一年中的第几天:wfsdck303#
您可以在不导入任何内容的情况下使用时间:
或者现在:
nc1teljy4#
Date#yday
是你正在寻找的。下面是一个例子:
pgvzfuti5#
您可能可以对
civil_to_jd(y, m, d, sg=GREGORIAN)
执行某些操作