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

是否有任何可用的现成迁移方式?

我正在猜测..

脚本/生成迁移AddMonthsToClass beginDate:datetime#至endDate:datetime

如果我的问题听起来很迟钝,我会提前道歉!抱歉! :D

最佳答案

这可能对您有帮助:http://www.francisfish.com/getting_the_number_of_months_between_two_dates_in_rubyrails.htm

获取月份数后,您可以从中获取月份名称:

月= [“”,“一月”,“二月”,“三月”,“四月”,“五月”,“六月”,“七月”,“八月”,“九月”,“十月”,“十一月”, “十二月”]
月[开始日期。月,number_of_months]


例如
months [Time.now.month,5]
=> [“五月”,“六月”,“七月”,“八月”,“九月”]

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

日期:: MONTHNAMES [开始日期。月,number_of_months]


编辑:
或者,如果您在选择标记中获得了月份数字,则可以使用:

日期:: MONTHNAMES [start_month_num,end_month_num]


但是,如果end_month_num小于start_month_num,则此操作将失败

这应该工作:

如果start_month   日期:: MONTHNAMES [start_month..end_month]
其他
  日期:: MONTHNAMES [end_month..12] +日期:: MONTHNAMES [1..start_month]
结束

关于mysql - 指定两个月之间的距离的rails迁移。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2815342/

10-10 16:09