我只是想知道如何用Ruby编写日期?
date_a = Time.at() # <= new
date_b = Time.at() # <= old
我喜欢这样的东西:
September 1 - 30, 2016
它也需要被认为是一年。 (例如,如果是在1月份,
应为December 25 2016 - January 25 2017
)
答案 0 :(得分:4)
你可以做这样的事情
def format_dates(*dates)
date1, date2 = dates.sort
return "#{date1.strftime("%B %d %Y")} if date1 == date2
if date1.year == date2.year
if date1.month == date2.month
"#{date1.strftime("%B")} #{date1.day} - #{date2.day}, #{date1.year}"
else
"#{date1.strftime("%B %d")} - #{date2.strftime("%B %d")}, #{date1.year}"
end
else
"#{date1.strftime("%B %d %Y")} - #{date2.strftime("%B %d %Y")}"
end
end
p format_dates(Date.parse('25/12/2016'), Date.parse('25/01/2017'))
# => "December 25 2016 - January 25 2017"
p format_dates(Date.parse('25/12/2016'), Date.parse('25/01/2016'))
# => "January 25 - December 25, 2016"