代码之家  ›  专栏  ›  技术社区  ›  Trip

指定两个月之间距离的Rails迁移…?

  •  0
  • Trip  · 技术社区  · 14 年前

    我想下拉两次。开始时间和结束时间。具体来说,我只需要几个月。例如,我想选择一月,然后选择三月,然后让数据库读取这两个月加上二月。

    有什么现成的迁移可以工作吗?

    我猜…

    脚本/生成迁移addmonthstoclass begindate:datetime到enddate:datetime

    如果我的问题听起来有点迟钝,我会提前道歉的!对不起的!D

    1 回复  |  直到 14 年前
        1
  •  1
  •   Kalyan Maddu    14 年前

    这可以帮助您: http://www.francisfish.com/getting_the_number_of_months_between_two_dates_in_rubyrails.htm

    获取月数后,您可以从此处获取月名:

    months = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
    months[start_date.month, number_of_months]
    


    月[时间.现在.月,5] =>[“五月”,“六月”,“七月”,“八月”,“九月”]

    编辑:
    除此之外,您可以使用:

    Date::MONTHNAMES[start_date.month, number_of_months]
    

    编辑:
    或者,如果您的select标签中有月份号,您只需使用:

    Date::MONTHNAMES[start_month_num, end_month_num]
    

    但是,如果end-month-num小于start-month-num,这将失败。

    这应该有效:

    if start_month <= end_month
      Date::MONTHNAMES[start_month..end_month]
    else
      Date::MONTHNAMES[end_month..12] + Date::MONTHNAMES[1..start_month]
    end
    
    推荐文章