13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

年度に手軽に処理したい

Posted at

Fiscaliを使用することで、Railsアプリなどで年度を手軽に扱うことができる。

Fiscaliのインストール

Gemfile に以下を記述して bundle install を実行。

gem 'fiscali'

セットアップ

どの国の会計年度に従うかを最初に設定しておく必要がある。
Railsアプリであれば config/initializers/fiscali.rb などを用意してそこに設定を書く。日本の会計年度を扱いたい場合は以下のようにする。

Date.fiscal_zone = :japan
Time.fiscal_zone = :japan

年度を扱う

Fiscaliが読み込まれ設定が適切にされていると、DateTimeから年度を良い感じに扱えるようになっている。

  • 属している会計年度を取得する場合には#financial_yearを使う。
> date = Date.today
Tue, 11 Mar 2014
> date.year
2014
> date.financial_year
2013
  • 属している会計年度の始まりを取得する場合には#beginning_of_financial_yearを、終わりを取得する場合には#end_of_financial_year使う
> date = Date.today
Tue, 11 Mar 2014
> date.beginning_of_financial_year
Mon, 01 Apr 2013
> date.end_of_financial_year
Mon, 31 Mar 2014

これができると、「今年度の売上を知りたい」みたいなときにも具体的な日付の計算を自分ですることなく以下のような感じで実現できるので簡単便利。

Sale.where(saled_on: date.beginning_of_financial_year..date.end_of_financial_year)
#=> SELECT "sales".* FROM "sales" WHERE ("sales"."saled_on" BETWEEN '2013-04-01' AND '2014-03-31') 

参考

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?