目次
- アクティブサポートとは
- 真偽判定
- 単数形と複数形の変換
- クラス名・ファイル名・テーブル名の変換
- 日付関連
- 日時関連
- 時間関連(TIme)
- 単位を計算
- 引数の文字列で指定した名前で定数を探す(constantize)
- アンダーバーをハイフンに変換(dasherize)
- 文字列から右端のセグメントを削除(deconstantize)
- 文字列からモジュールの一部を削除(demodulize)
- クラス名から外部キーの名前を作成(foreign_key)
- 最初の単語を大文字にし、スペースやストリップ末尾の_idを削除(humanize)
- 数値を通貨のフォーマットに変換(number_to_currency)
- 数値を単位のフォーマットに変換(number_to_human)
- バイト単位の数値を変換(number_to_human_size)
- 数値をパーセントに変換(number_to_percentage)
- 桁区切り文字を追加(number_with_delimiter)
- 数値を特定の桁で丸める(number_with_precision)
- USの電話番号フォーマット(number_to_phone)
- 数字を区切り文字を使用してグループ化(number_to_delimited)
- フォーマットの指定されたレベル(number_to_rounded)
アクティブサポート(activesupport)
アクティブサポートとは
アクティブサポートとは
Ruby標準ライブラリの拡張
真偽判定
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
条件式を評価し,true(真)かnilやfalse(偽)を判定する
使い方
nil?
変数.nil?
Rubyの標準メソッド。nilの場合のみtrueを返し、それ以外はfalseを返す。
empty?
変数.empty?
Rubyの標準メソッド。空の文字列や空の配列の場合にtrueを返す。nilに対して呼び出すとNoMethodErrorが発生する。
blank?
変数.blank?
nil? + empty? のようなメソッド。nilまたは空のオブジェクトをチェックできる。
nil, "", " "(半角スペースのみ), [](空の配列), {}(空のハッシュ) のときにfalseを返します。
Railsで拡張されたメソッドなので、Rubyのみでは使えないのでご注意ください。
present?
変数.present?
!blank? を実行するメソッド。if 変数.present?とunless 変数.blank?は同じ意味
nil, "", " "(半角スペースのみ), [](空の配列), {}(空のハッシュ) のときにfalseを返します。
Railsで拡張されたメソッドなので、Rubyのみでは使えないのでご注意ください。
例
@pages = Page.all
if @pages.present?
...
else
puts "no pages"
end
単数形と複数形の変換
pluralize
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
単数形の名詞を複数形に変換する。
「config/initializers/inflections.rb」に定義を追加することによって、不可算名詞を追加できる。
使い方
<名詞>.pluralize
例
「ruby」を複数形に変換
"ruby".pluralize
# "rubies"
「equipment」を複数形に変換
"equipment".pluralize
# "equipment"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_view/helpers/text_helper.rb, line 190
def pluralize(count, singular, plural = nil)
word = if (count == 1 || count =~ /^1(\.0+)?$/)
singular
else
plural || singular.pluralize
end
"#{count || 0} #{word}"
endソースコード検索
singularize
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
複数形の名詞を単数形に変換する。
「config/initializers/inflections.rb」に定義を追加することによって、不可算名詞を追加できる。
使い方
<名詞>.singularize
例
「rubies」を単数形に変換
"rubies".singularize
# "ruby"
「equipment」を単数形に変換
"equipment".singularize
# "equipment"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 48
def singularize(word, locale = :en)
apply_inflections(word, inflections(locale).singulars)
endソースコード検索
クラス名・ファイル名・テーブル名の変換
クラス名からファイル名へ変換(underscore)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
クラス名からファイル名へ変換する。
「config/initializers/inflections.rb」に定義を追加することによって、追加できる。
使い方
<クラス名>.underscore
例
「Product」を変換
"Product".underscore
# "product"
「AdminUser」を変換
"AdminUser".underscore
# "admin_user"
「Backoffice::Session」を変換
"Backoffice::Session".underscore
# "backoffice/session"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 89
def underscore(camel_cased_word)
word = camel_cased_word.to_s.dup
word.gsub!('::', '/')
word.gsub!(/(?:([A-Za-z\d])|^)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1}#{$1 && '_'}#{$2.downcase}" }
word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
word.tr!("-", "_")
word.downcase!
word
endソースコード検索
ファイル名からクラス名へ変換(camelize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
ファイル名からクラス名へ変換する。
「config/initializers/inflections.rb」に定義を追加することによって、追加できる。
使い方
<ファイル名>.camelize
例
「product」を変換
"product".camelize
# "Product"
「backoffice/session」を変換
"backoffice/session".camelize
# "Backoffice::Session"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 68
def camelize(term, uppercase_first_letter = true)
string = term.to_s
if uppercase_first_letter
string = string.sub(/^[a-z\d]*/) { inflections.acronyms[$&] || $&.capitalize }
else
string = string.sub(/^(?:#{inflections.acronym_regex}(?=\b|[A-Z_])|\w)/) { $&.downcase }
end
string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{inflections.acronyms[$2] || $2.capitalize}" }.gsub('/', '::')
endソースコード検索
モデルクラス名からテーブル名へ変換(tableize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
モデルクラス名からテーブル名へ変換する。
「config/initializers/inflections.rb」に定義を追加することによって、追加できる。
使い方
<モデルクラス名>.tableize
例
「Page」を変換
"Page".tableize
# "pages"
「AdminUser」を変換
"AdminUser".tableize
# "admin_users"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 136
def tableize(class_name)
pluralize(underscore(class_name))
endソースコード検索
テーブル名からモデルクラス名へ変換(classify)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
テーブル名からモデルクラス名へ変換する。
「config/initializers/inflections.rb」に定義を追加することによって、追加できる。
使い方
<テーブル名>.classify
例
「people」を変換
"people".classify
# "Person"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 150
def classify(table_name)
# strip out any leading schema name
camelize(singularize(table_name.to_s.sub(/.*\./, '')))
endソースコード検索
日付関連
翌日の日付を取得(tomorrow)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
翌日の日付を取得する。
使い方
<日付>.tomorrow
例
翌日の日付を取得
Date.new(2011, 12, 24).tomorrow
# Sun, 25 Dec 2011
その他
標準関数で代替
Date.new(2011, 12, 24) + 1
# Sun, 25 Dec 2011
ソースコード検索
前日の日付を取得(yesterday)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
前日の日付を取得する。
使い方
<日付>.yesterday
例
翌日の日付を取得
Date.new(2011, 12, 24).yesterday
# Fri, 23 Dec 2011
その他
標準関数で代替
Date.new(2011, 12, 24) - 1
# Fri, 23 Dec 2012
ソースコード検索
去年の日付を取得(prev_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
去年の日付を取得する。
使い方
<日付>.prev_year
例
去年の日付を取得
Date.new(2011, 12, 24).prev_year
# Fri, 24 Dec 2010
その他
標準関数で代替
Date.new(2011, 12, 24) << 12
# Fri, 24 Dec 2010
ソースコード検索
来年の日付を取得(next_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来年の日付を取得する。
使い方
<日付>.next_year
例
来年の日付を取得
Date.new(2011, 12, 24).next_year
# Mon, 24 Dec 2012
その他
標準関数で代替
Date.new(2011, 12, 24) >> 12
# Mon, 24 Dec 2012
ソースコード検索
先月の日付を取得(prev_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
先月の日付を取得する。
使い方
<日付>.prev_month
例
先月の日付を取得
Date.new(2011, 12, 24).prev_month
# Thu, 24 Nov 2011
その他
標準関数で代替
Date.new(2011, 12, 24) << 1
# Thu, 24 Nov 2011
ソースコード検索
来月の日付を取得(next_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来月の日付を取得する。
使い方
<日付>.next_month
例
来月の日付を取得
Date.new(2011, 12, 24).next_month
# Tue, 24 Jan 2012
その他
標準関数で代替
Date.new(2011, 12, 24) >> 1
# Tue, 24 Jan 2012
ソースコード検索
今週の初めの日付を取得(beginning_of_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今週の初めの日付を取得する。
使い方
<日付>.beginning_of_week
例
今週の終わりの日付を取得
Date.new(2011, 12, 24).beginning_of_week
# Mon, 19 Dec 2011
ソースコード検索
今週の初めの日付を取得(end_of_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今週の終わりの日付を取得する。
使い方
<日付>.end_of_week
例
今週の終わりの日付を取得
Date.new(2011, 12, 24).end_of_week
# Sun, 25 Dec 2011
ソースコード検索
来週の日付を取得(next_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来週の日付を取得する。
使い方
<日付>.next_week
例
来週の初めの日付を取得
Date.new(2011, 12, 24).next_week
# Mon, 26 Dec 2011
来週の土曜日の日付を取得
Date.new(2011, 12, 24).next_week(:saturday)
# Sat, 31 Dec 2011
ソースコード検索
先週の日付を取得(prev_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
先週の日付を取得する。
使い方
<日付>.prev_week
例
先週の初めの日付を取得
Date.new(2011, 12, 24).prev_week
# Mon, 12 Dec 2011
先週の土曜日の日付を取得
Date.new(2011, 12, 24).prev_week
# Sat, 17 Dec 2011
ソースコード検索
今月の初めの日付を取得(beginning_of_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今月の初めの日付を取得する。
使い方
<日付>.beginning_of_month
例
今月の初めの日付を取得
Date.new(2011, 12, 24).beginning_of_month
# Thu, 01 Dec 2011
ソースコード検索
今月の終わりの日付を取得(end_of_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今月の終わりの日付を取得する。
使い方
<日付>.end_of_month
例
今月の終わりの日付を取得
Date.new(2011, 12, 24).end_of_month
# Sat, 31 Dec 2011
ソースコード検索
四半期の初めの日付を取得(beginning_of_quarter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
四半期の初めの日付を取得する。
使い方
<日付>.beginning_of_quarter
例
四半期の初めの日付を取得
Date.new(2011, 12, 24).beginning_of_quarter
# Sat, 01 Oct 2011
ソースコード検索
四半期の終わりの日付を取得(end_of_quarter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
四半期の終わりの日付を取得する。
使い方
<日付>.end_of_quarter
例
四半期の終わりの日付を取得
Date.new(2011, 12, 24).end_of_quarter
# Sat, 31 Dec 2011
ソースコード検索
今年の初めの日付を取得(beginning_of_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今年の初めの日付を取得する。
使い方
<日付>.beginning_of_year
例
今年の初めの日付を取得
Date.new(2011, 12, 24).beginning_of_year
# Sat, 01 Jan 2011
ソースコード検索
今年の終わりの日付を取得(end_of_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今年の終わりの日付を取得する。
使い方
<日付>.end_of_year
例
今年の終わりの日付を取得
Date.new(2011, 12, 24).end_of_year
# Sat, 31 Dec 2011
ソースコード検索
○年前の日付を取得(years_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年前の日付を取得する。
使い方
<日付>.years_ago(<年数>)
例
10年前の日付を取得
Date.new(2011, 12, 24).years_ago(10)
# Mon, 24 Dec 2001
ソースコード検索
○年前の日付を取得(years_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年前の日付を取得する。
使い方
<日付>.years_ago(<年数>)
例
10年前の日付を取得
Date.new(2011, 12, 24).years_ago(10)
# Mon, 24 Dec 2001
ソースコード検索
○年後の日付を取得(years_since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年後の日付を取得する。
使い方
<日付>.years_since(<年数>)
例
10年後の日付を取得
Date.new(2011, 12, 24).years_since(10)
# Fri, 24 Dec 2021
ソースコード検索
○月前の日付を取得(months_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○月前の日付を取得する。
使い方
<日付>.months_ago(<月数>)
例
2月前の日付を取得
Date.new(2011, 12, 24).months_ago(2)
# Mon, 24 Oct 2011
ソースコード検索
○月後の日付を取得(months_since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○月後の日付を取得する。
使い方
<日付>.months_since(<月数>)
例
2月後の日付を取得
Date.new(2011, 12, 24).months_since(2)
# Fri, 24 Feb 2012
ソースコード検索
○週前の日付を取得(weeks_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○週前の日付を取得する。
使い方
<日付>.weeks_ago(<週数>)
例
2週前の日付を取得
Date.new(2011, 12, 24).weeks_ago(2)
# Sat, 10 Dec 2011
ソースコード検索
特定の日時前の日付を取得(advance)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
特定の日時前の日付を取得する。
使い方
<日付>.advance(<日付のハッシュ>)
例
2ヶ月後の2日前の日付を取得
Date.new(2011, 12, 24).advance(:months => 2, :days => -2)
# Wed, 22 Feb 2011
ソースコード検索
特定の日付を取得(change)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
特定の日時前の日付を取得する。
使い方
<日付>.change(<日付のハッシュ>)
例
2ヶ月後の2日前の日付を取得
Date.new(2011, 12, 24).change(:months => 2, :days => -2)
# Sat, 24 Dec 2011
ソースコード検索
日付の計算
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
日付を足したり、引いたりする。
使い方
<日付> (+ or -) <日付>
例
2日後の日付を計算
Date.new(2011, 12, 24) + 2.day
# Mon, 26 Dec 2011
1年前の日付を計算
Date.new(2011, 12, 24) - 1.year
# Fri, 24 Dec 2010
今日の初めの時刻(beginning_of_day)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の初めの時刻を取得する。
使い方
<日付>.beginning_of_day
例
今日の初めの時刻を取得
Date.new(2011, 12, 24).beginning_of_day
# Sat, 24 Dec 2011 00:00:00 JST +09:00
ソースコード検索
今日の終わりの時刻(end_of_day)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の終わりの時刻を取得する。
使い方
<日付>.end_of_day
例
今日の1秒後の時刻を取得
Date.new(2011, 12, 24).end_of_day
# Sat, 24 Dec 2011 23:59:59 JST +09:00
ソースコード検索
今日の○秒前の時刻を取得(ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の○秒前の時刻を取得する。
使い方
<日付>.ago(秒数)
例
今日の1秒前の時刻を取得
Date.new(2011, 12, 24).ago(1)
# Sat, 23 Dec 2011 23:59:59 JST +09:00
ソースコード検索
今日の○秒後の時刻を取得(since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の○秒後の時刻を取得する。
使い方
<日付>.since(秒数)
例
今日の1秒後の時刻を取得
Date.new(2011, 12, 24).since(1)
# Sat, 24 Dec 2011 00:00:01 JST +09:00
ソースコード検索
日時関連
翌日の日時を取得(tomorrow)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
翌日の日時を取得する。
使い方
<日時>.tomorrow
例
翌日の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).tomorrow
# Sun, 25 Dec 2011 00:00:00 +0000
その他
標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) + 1
# Sun, 25 Dec 2011 00:00:00 +0000
ソースコード検索
前日の日時を取得(yesterday)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
前日の日時を取得する。
使い方
<日時>.yesterday
例
前日の日時を取得
DateTime.new(2011, 12, 24).yesterday
# Fri, 23 Dec 2011 00:00:00 +0000
その他
標準関数で代替
DateTime.new(2011, 12, 24) - 1
# Fri, 23 Dec 2011 00:00:00 +0000
ソースコード検索
去年の日時を取得(prev_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
去年の日時を取得する。
使い方
<日時>.prev_year
例
去年の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_year
# Fri, 24 Dec 2010 00:00:00 +0000
その他
標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) << 12
# Fri, 24 Dec 2010 00:00:00 +0000
ソースコード検索
来年の日時を取得(next_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来年の日時を取得する。
使い方
<日時>.next_year
例
来年の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_year
# Mon, 24 Dec 2012 00:00:00 +0000
その他
標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) >> 12
# Mon, 24 Dec 2012 00:00:00 +0000
ソースコード検索
先月の日時を取得(prev_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
先月の日時を取得する。
使い方
<日時>.prev_month
例
先月の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_month
# Thu, 24 Nov 2011 00:00:00 +0000
その他
標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) << 1
# Thu, 24 Nov 2011 00:00:00 +0000
ソースコード検索
来月の日時を取得(next_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来月の日時を取得する。
使い方
<日時>.next_month
例
来月の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_month
# Tue, 24 Jan 2012 00:00:00 +0000
その他
標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) >> 1
# Tue, 24 Jan 2012 00:00:00 +0000
ソースコード検索
今週の初めの日時を取得(beginning_of_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今週の初めの日時を取得する。
使い方
<日時>.beginning_of_week
例
今週の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_week
# Mon, 19 Dec 2011 00:00:00 +0000
ソースコード検索
今週の初めの日時を取得(end_of_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今週の終わりの日時を取得する。
使い方
<日時>.end_of_week
例
今週の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_week
# Sun, 25 Dec 2011 23:59:59 +0000
ソースコード検索
来週の日時を取得(next_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来週の日時を取得する。
使い方
<日時>.next_week
例
来週の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_week
# Mon, 26 Dec 2011 00:00:00 +0000
来週の土曜日の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_week(:saturday)
# Sat, 31 Dec 2011 00:00:00 +0000
ソースコード検索
先週の日時を取得(prev_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
先週の日時を取得する。
使い方
<日時>.prev_week
例
先週の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_week
# Mon, 12 Dec 2011 00:00:00 +0000
先週の土曜日の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_week
# Sat, 17 Dec 2011 00:00:00 +0000
ソースコード検索
今月の初めの日時を取得(beginning_of_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今月の初めの日時を取得する。
使い方
<日時>.beginning_of_month
例
今月の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_month
# Thu, 01 Dec 2011 00:00:00 +0000
ソースコード検索
今月の終わりの日時を取得(end_of_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今月の終わりの日時を取得する。
使い方
<日時>.end_of_month
例
今月の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_month
# Sat, 31 Dec 2011 23:59:59 +0000
ソースコード検索
四半期の初めの日時を取得(beginning_of_quarter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
四半期の初めの日時を取得する。
使い方
<日時>.beginning_of_quarter
例
四半期の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_quarter
# Sat, 01 Oct 2011 00:00:00 +0000
ソースコード検索
四半期の終わりの日時を取得(end_of_quarter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
四半期の終わりの日時を取得する。
使い方
<日時>.end_of_quarter
例
四半期の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_quarter
# Sat, 31 Dec 2011 23:59:59 +0000
ソースコード検索
今年の初めの日時を取得(beginning_of_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今年の初めの日時を取得する。
使い方
<日時>.beginning_of_year
例
今年の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_year
# Sat, 01 Jan 2011 00:00:00 +0000
ソースコード検索
今年の終わりの日時を取得(end_of_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今年の終わりの日時を取得する。
使い方
<日時>.end_of_year
例
今年の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_year
# Sat, 31 Dec 2011 23:59:59 +0000
ソースコード検索
○年前の日時を取得(years_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年前の日時を取得する。
使い方
<日時>.years_ago(<年数>)
例
10年前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).years_ago(10)
# Mon, 24 Dec 2001 00:00:00 +0000
ソースコード検索
○年後の日時を取得(years_since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年後の日時を取得する。
使い方
<日時>.years_since(<年数>)
例
10年後の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).years_since(10)
# Fri, 24 Dec 2021 00:00:00 +0000
ソースコード検索
○月前の日時を取得(months_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○月前の日時を取得する。
使い方
<日時>.months_ago(<月数>)
例
2月前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).months_ago(2)
# Mon, 24 Oct 2011 00:00:00 +0000
ソースコード検索
○月後の日時を取得(months_since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○月後の日時を取得する。
使い方
<日時>.months_since(<月数>)
例
2月後の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).months_since(2)
# Fri, 24 Feb 2012 00:00:00 +0000
ソースコード検索
○週前の日時を取得(weeks_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○週前の日時を取得する。
使い方
<日時>.weeks_ago(<週数>)
例
2週前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).weeks_ago(2)
# Sat, 10 Dec 2011 00:00:00 +0000
ソースコード検索
特定の日時前の日時を取得(advance)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
特定の日時前の日時を取得する。
使い方
<日時>.advance(<日時のハッシュ>)
例
2ヶ月後の2日前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).advance(:months => 2, :days => -2)
# Wed, 22 Feb 2011 00:00:00 +0000
ソースコード検索
特定の日時を取得(change)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
特定の日時前の日時を取得する。
使い方
<日時>.change(<日時のハッシュ>)
例
2ヶ月後の2日前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).change(:months => 2, :days => -2)
# Sat, 24 Dec 2011 00:00:00 +0000
ソースコード検索
日時の計算
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
日時を足したり、引いたりする。
使い方
<日時> (+ or -) <日時>
例
2日後の日時を計算
DateTime.new(2011, 12, 24, 00, 00, 00) + 2.day
# Mon, 26 Dec 2011 00:00:00 +0000
1年前の日時を計算
DateTime.new(2011, 12, 24, 00, 00, 00) - 1.year
# Fri, 24 Dec 2010 00:00:00 +0000
今日の初めの時刻(beginning_of_day)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の初めの時刻を取得する。
使い方
<日時>.beginning_of_day
例
今日の初めの時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_day
# Sat, 24 Dec 2011 00:00:00 +0000
ソースコード検索
今日の終わりの時刻(end_of_day)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
説明
今日の終わりの時刻を取得する。
使い方
<日時>.end_of_day
例
今日の1秒後の時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_day
# Sat, 24 Dec 2011 23:59:59 +0000
ソースコード検索
今日の○秒前の時刻を取得(ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の○秒前の時刻を取得する。
使い方
<日時>.ago(秒数)
例
今日の1秒前の時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).ago(1)
# Sat, 23 Dec 2011 23:59:59 +0000
ソースコード検索
今日の○秒後の時刻を取得(since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の○秒後の時刻を取得する。
使い方
<日時>.since(秒数)
例
今日の1秒後の時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).since(1)
# Sat, 24 Dec 2011 00:00:01 +0000
ソースコード検索
今日の0時からの秒数を取得(seconds_since_midnight)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の0時からの秒数を取得する。
使い方
<日時>.seconds_since_midnight
例
今日の0時からの秒数を取得
DateTime.new(2011, 12, 24, 10, 00, 00).seconds_since_midnight
# 36000
ソースコード検索
UTCの日時を取得(utc)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
UTCの日時を取得する。
使い方
<日時>.seconds_since_midnight
例
UTCの日時を取得
DateTime.current.utc # Sat, 24 Dec 2011 00:00:00 +0900
# Fir, 23 Dec 2011 09:00:00 +1500
ソースコード検索
時間関連(TIme)
翌日の時間を取得(tomorrow)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
翌日の時間を取得する。
使い方
<時間>.tomorrow
例
翌日の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).tomorrow
# 2011-12-25 00:00:00 +0900
その他
標準関数で代替
Time.mktime(2011, 12, 24, 00, 00, 00) + 86400
# 2011-12-25 00:00:00 +0900
ソースコード検索
前日の時間を取得(yesterday)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
前日の時間を取得する。
使い方
<時間>.yesterday
例
翌日の時間を取得
Time.mktime(2011, 12, 24).yesterday
# 2011-12-23 00:00:00 +0900
その他
標準関数で代替
Time.mktime(2011, 12, 24) - 86400
# 2011-12-23 00:00:00 +0900
ソースコード検索
去年の時間を取得(prev_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
去年の時間を取得する。
使い方
<時間>.prev_year
例
去年の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).prev_year
# 2010-12-24 00:00:00 +0900
その他
標準関数で代替
Time.mktime(2011, 12, 24, 00, 00, 00) - 31536000
# 2010-12-24 00:00:00 +0900
ソースコード検索
来年の時間を取得(next_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来年の時間を取得する。
使い方
<時間>.next_year
例
来年の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).next_year
# 2012-12-24 00:00:00 +0900
その他
標準関数で代替
Time.mktime(2011, 12, 24, 00, 00, 00) + 31536000
# 2012-12-24 00:00:00 +0900
ソースコード検索
先月の時間を取得(prev_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
先月の時間を取得する。
使い方
<時間>.prev_month
例
先月の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).prev_month
# 2011-11-24 00:00:00 +0900
ソースコード検索
来月の時間を取得(next_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来月の時間を取得する。
使い方
<時間>.next_month
例
来月の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).next_month
# 2012-01-24 00:00:00 +0900
今週の初めの時間を取得(beginning_of_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今週の初めの時間を取得する。
使い方
<時間>.beginning_of_week
例
今週の終わりの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).beginning_of_week
# 2011-12-19 00:00:00 +0900
ソースコード検索
今週の初めの時間を取得(end_of_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今週の終わりの時間を取得する。
使い方
<時間>.end_of_week
例
今週の終わりの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).end_of_week
# 2011-12-25 23:59:59 +0900
ソースコード検索
来週の時間を取得(next_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
来週の時間を取得する。
使い方
<時間>.next_week
例
来週の初めの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).next_week
# 2011-12-26 00:00:00 +0900
来週の土曜日の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).next_week(:saturday)
# 2011-12-31 00:00:00 +0900
ソースコード検索
先週の時間を取得(prev_week)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
先週の時間を取得する。
使い方
<時間>.prev_week
例
先週の初めの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).prev_week
# 2011-12-12 00:00:00 +0900
先週の土曜日の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).prev_week
# Sat, 17 Dec 2011 00:00:00 +0000
ソースコード検索
今月の初めの時間を取得(beginning_of_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今月の初めの時間を取得する。
使い方
<時間>.beginning_of_month
例
今月の初めの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).beginning_of_month
# 2011-12-01 00:00:00 +0900
ソースコード検索
今月の終わりの時間を取得(end_of_month)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今月の終わりの時間を取得する。
使い方
<時間>.end_of_month
例
今月の終わりの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).end_of_month
# 2011-12-31 23:59:59 +0900
ソースコード検索
四半期の初めの時間を取得(beginning_of_quarter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
四半期の初めの時間を取得する。
使い方
<時間>.beginning_of_quarter
例
四半期の初めの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).beginning_of_quarter
# 2011-10-01 00:00:00 +0900
ソースコード検索
四半期の終わりの時間を取得(end_of_quarter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
四半期の終わりの時間を取得する。
使い方
<時間>.end_of_quarter
例
四半期の終わりの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).end_of_quarter
# 2011-12-31 23:59:59 +0900
ソースコード検索
今年の初めの時間を取得(beginning_of_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今年の初めの時間を取得する。
使い方
<時間>.beginning_of_year
例
今年の初めの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).beginning_of_year
# 2011-01-01 00:00:00 +0900
ソースコード検索
今年の終わりの時間を取得(end_of_year)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今年の終わりの時間を取得する。
使い方
<時間>.end_of_year
例
今年の終わりの時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).end_of_year
# 2011-12-31 23:59:59 +0900
ソースコード検索
○年前の時間を取得(years_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年前の時間を取得する。
使い方
<時間>.years_ago(<年数>)
例
10年前の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).years_ago(10)
# 2001-12-24 00:00:00 +0900
ソースコード検索
○年後の時間を取得(years_since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○年後の時間を取得する。
使い方
<時間>.years_since(<年数>)
例
10年後の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).years_since(10)
# 2021-12-24 00:00:00 +0900
ソースコード検索
○月前の時間を取得(months_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○月前の時間を取得する。
使い方
<時間>.months_ago(<月数>)
例
2月前の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).months_ago(2)
# 2011-10-24 00:00:00 +0900
ソースコード検索
○月後の時間を取得(months_since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○月後の時間を取得する。
使い方
<時間>.months_since(<月数>)
例
2月後の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).months_since(2)
# 2012-02-24 00:00:00 +0900
ソースコード検索
○週前の時間を取得(weeks_ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
○週前の時間を取得する。
使い方
<時間>.weeks_ago(<週数>)
例
2週前の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).weeks_ago(2)
# Sat, 10 Dec 2011 00:00:00 +0000
ソースコード検索
特定の時間前の時間を取得(advance)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
特定の時間前の時間を取得する。
使い方
<時間>.advance(<時間のハッシュ>)
例
2ヶ月後の2日前の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).advance(:months => 2, :days => -2)
# 2012-02-22 00:00:00 +0900
ソースコード検索
特定の時間を取得(change)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
特定の時間前の時間を取得する。
使い方
<時間>.change(<時間のハッシュ>)
例
2ヶ月後の2日前の時間を取得
Time.mktime(2011, 12, 24, 00, 00, 00).change(:months => 2, :days => -2)
# 2011-12-24 00:00:00 +0900
ソースコード検索
時間の計算
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
時間を足したり、引いたりする。
使い方
<時間> (+ or -) <時間>
例
2日後の時間を計算
Time.mktime(2011, 12, 24, 00, 00, 00) + 2.day
# 2011-12-26 00:00:00 +0900
1年前の時間を計算
Time.mktime(2011, 12, 24, 00, 00, 00) - 1.year
# 2011-12-24 00:00:00 +0900
今日の初めの時刻(beginning_of_day)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の初めの時刻を取得する。
使い方
<時間>.beginning_of_day
例
今日の初めの時刻を取得
Time.mktime(2011, 12, 24, 00, 00, 00).beginning_of_day
# 2011-12-24 00:00:00 +0900
ソースコード検索
今日の終わりの時刻(end_of_day)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の終わりの時刻を取得する。
使い方
<時間>.end_of_day
例
今日の1秒後の時刻を取得
Time.mktime(2011, 12, 24, 00, 00, 00).end_of_day
# 2011-12-24 23:59:59 +0900
ソースコード検索
今日の○秒前の時刻を取得(ago)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の○秒前の時刻を取得する。
使い方
<時間>.ago(秒数)
例
今日の1秒前の時刻を取得
Time.mktime(2011, 12, 24, 00, 00, 00).ago(1)
# 2011-12-23 23:59:59 +0900
ソースコード検索
今日の○秒後の時刻を取得(since)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の○秒後の時刻を取得する。
使い方
<時間>.since(秒数)
例
今日の1秒後の時刻を取得
Time.mktime(2011, 12, 24, 00, 00, 00).since(1)
# 2011-12-24 00:00:01 +0900
ソースコード検索
今日の0時からの秒数を取得(seconds_since_midnight)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
今日の0時からの秒数を取得する。
使い方
<時間>.seconds_since_midnight
例
今日の0時からの秒数を取得
Time.mktime(2011, 12, 24, 10, 00, 00).seconds_since_midnight
# 36000.0
ソースコード検索
UTCの時間を取得(utc)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
UTCの時間を取得する。
使い方
<時間>.seconds_since_midnight
例
UTCの時間を取得
Time.current.utc # 2011-12-24 00:00:00 +0900
# 2011-12-23 15:00:00 UTC
ソースコード検索
デフォルトのタイムゾーンを取得(zone_default)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
UTCの時間を取得する。
使い方
<時間>.zone_default
例
UTCの時間を取得
Time.zone_default
# (GMT+09:00) Tokyo
ソースコード検索
単位を計算
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
バイト、キロバイトなどの単位を計算する。
使い方
バイト
数字.bytes
キロバイト
数字.kilobytes
メガバイト
数字.megabytes
ギガバイト
数字.gigabytes
テラバイト
数字.terabytes
ペタバイト
数字.petabytes
エクサバイト
数字.exabytes
例
2.kilobytes
# 2048
引数の文字列で指定した名前で定数を探す(constantize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
引数の文字列で指定した名前で定数を探す
使い方
文字列.constantize()
例
'Module'.constantize # => Module
'Test::Unit'.constantize # => Test::Unit
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 219
def constantize(camel_cased_word)
names = camel_cased_word.split('::')
names.shift if names.empty? || names.first.empty?
names.inject(Object) do |constant, name|
if constant == Object
constant.const_get(name)
else
candidate = constant.const_get(name)
next candidate if constant.const_defined?(name, false)
next candidate unless Object.const_defined?(name)
# Go down the ancestors to check it it's owned
# directly before we reach Object or the end of ancestors.
constant = constant.ancestors.inject do |const, ancestor|
break const if ancestor == Object
break ancestor if ancestor.const_defined?(name, false)
const
end
# owner is in Object, so raise
constant.const_get(name, false)
end
end
endソースコード検索
アンダーバーをハイフンに変換(dasherize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
アンダーバー(_)をハイフン(-)に変換する
使い方
文字列.dasherize()
例
'puni_puni'.dasherize # => "puni-puni"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 158
def dasherize(underscored_word)
underscored_word.tr('_', '-')
endソースコード検索
文字列から右端のセグメントを削除(deconstantize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
文字列から右端のセグメントを削除する
使い方
文字列.deconstantize()
例
'Net::HTTP'.deconstantize
# "Net"
'::Net::HTTP'.deconstantize
# "::Net"
'String'.deconstantize
# ""
'::String'.deconstantize
# ""
''.deconstantize
# ""
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 158
def dasherize(underscored_word)
underscored_word.tr('_', '-')
endソースコード検索
文字列からモジュールの一部を削除(demodulize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
関連するテーブルをまとめて取得する
使い方
文字列.demodulize()
例
'ActiveRecord::CoreExtensions::String::Inflections'.demodulize
# "Inflections"
'Inflections'.demodulize
# "Inflections"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 168
def demodulize(path)
path = path.to_s
if i = path.rindex('::')
path[(i+2)..-1]
else
path
end
endソースコード検索
クラス名から外部キーの名前を作成(foreign_key)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
クラス名から外部キーの名前を作成する。
separate_class_name_and_id_with_underscoreがfalseでアンダーバーなし
使い方
文字列.foreign_key([separate_class_name_and_id_with_underscore = true])
例
'Message'.foreign_key
# "message_id"
'Message'.foreign_key(false)
# "messageid"
'Admin::Post'.foreign_key
# "post_id"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 197
def foreign_key(class_name, separate_class_name_and_id_with_underscore = true)
underscore(demodulize(class_name)) + (separate_class_name_and_id_with_underscore ? "_id" : "id")
endソースコード検索
最初の単語を大文字にし、スペースやストリップ末尾の_idを削除(humanize)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
最初の単語を大文字にし、スペースやストリップ末尾の_idを削除する
使い方
文字列.humanize()
例
'employee_salary'.humanize
# "Employee salary"
'author_id'.humanize
# "Author"
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/inflector/methods.rb, line 106
def humanize(lower_case_and_underscored_word)
result = lower_case_and_underscored_word.to_s.dup
inflections.humans.each { |(rule, replacement)| break if result.sub!(rule, replacement) }
result.gsub!(/_id$/, "")
result.tr!('_', ' ')
result.gsub(/([a-z\d]*)/) { |match|
"#{inflections.acronyms[match] || match.downcase}"
}.gsub(/^\w/) { $&.upcase }
endソースコード検索
数値を通貨のフォーマットに変換(number_to_currency)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
数値を通貨のフォーマットに変換する
使い方
number_to_currency(数値 [, オプション])
オプション
| オプション | 説明 | デフォルト |
|---|---|---|
| :locale | 使用するロケール。YAML形式で「/config/locales/」以下の設定 | |
| :precision | 小数以下の桁数 | 2 |
| :unit | 通貨単位 | $ |
| :separator | 小数点記号 | . |
| :delimiter | 桁区切り文字 | , |
| :format | 出力される文字のフォーマット | %u%n(%uは通貨の単位 %nは数字部分) |
| :negative_format | マイナスのときのフォーマット | -%u%n |
| :raise | 引数が無効な場合に、InvalidNumberError | false |
例
ドルの通過フォーマットに変換
<%= number_to_currency(123456789) %>
# $123,456,789.00
小数点5つまで表示
<%= number_to_currency(123456789, :precision => 5) %>
# $123,456,789.00000
小数点をスペースで区切る
<%= number_to_currency(123456789, :separator => " ") %>
# $123,456,789 00
桁区切りをスペース
<%= number_to_currency(123456789, :delimiter => " ") %>
# $123 456 789.00
通過単位を「¥」
<%= number_to_currency(123456789, :unit => "¥") %>
# ¥123,456,789.00
通過単位を後ろ
<%= number_to_currency(123456789, :format => "%u%n", :unit => "¥") %>
# 123,456,789.00円
マイナスのフォーマット
<%= number_to_currency(-123456789, :negative_format => "%u-%n") %>
# $-123,456,789.00
円のロケールを設定
# config/locales/jp/yml
jp:
number:
currency:
format:
unit: "円"
format: "%n%u"
negative_format: "-%n%u"
precision: 0
<%= number_to_currency(123456789, :locale => 'jp') %>
# 123,456,789円
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_view/helpers/number_helper.rb, line 98
def number_to_currency(number, options = {})
return unless number
options = escape_unsafe_delimiters_and_separators(options.symbolize_keys)
wrap_with_output_safety_handling(number, options.delete(:raise)) {
ActiveSupport::NumberHelper.number_to_currency(number, options)
}
end
ソースコード検索
数値を単位のフォーマットに変換(number_to_human)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
数値を単位のフォーマットに変換
使い方
number_to_human(数値 [, オプション])
オプション
| オプション | 説明 | デフォルト |
|---|---|---|
| :locale | 使用するロケール | |
| :precision | 桁数 | 1 |
| :signigicant | 全体桁数 | |
| :separator | 小数点記号 | . |
| :delimiter | 桁区切り文字 | , |
| :strip_insignidicant_zeros | 小数点以下の0を削除 | |
| :units | 単位名を表すハッシュ 整数: :unit, :ten, :hundred, :thousand, :million, :billion, :trillion, :quadrillion 小数: :deci, :centi, :mili, :micro, :nano, :pico, :femto | |
| :format | 出力形式 |
例
単位で表示
<%= number_to_human(123456789) %>
# 123 Million
5桁で表示
<%= number_to_human(123456789, :precision => 5) %>
# 123.00 Million
小数点をスペースで区切る
<%= number_to_human(123456789, :precision => 5, :separator => " ") %>
# 123 00 Million
単位を日本語仕様
<%= number_to_human(123456789, :units => {:hundred => "百",:thousand => "千", :million => "百万", :billion => "十億", :trillion => "兆", :quadrillion => "千兆"}) %>
# 123 百万
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/number_helper.rb, line 551
def number_to_human(number, options = {})
options = options.symbolize_keys
return number unless valid_float?(number)
number = Float(number)
defaults = format_options(options[:locale], :human)
options = defaults.merge!(options)
#for backwards compatibility with those that didn't add strip_insignificant_zeros to their locale files
options[:strip_insignificant_zeros] = true if not options.key?(:strip_insignificant_zeros)
inverted_du = DECIMAL_UNITS.invert
units = options.delete :units
unit_exponents = case units
when Hash
units
when String, Symbol
I18n.translate(:"#{units}", :locale => options[:locale], :raise => true)
when nil
translate_number_value_with_default("human.decimal_units.units", :locale => options[:locale], :raise => true)
else
raise ArgumentError, ":units must be a Hash or String translation scope."
end.keys.map{|e_name| inverted_du[e_name] }.sort_by{|e| -e}
number_exponent = number != 0 ? Math.log10(number.abs).floor : 0
display_exponent = unit_exponents.find{ |e| number_exponent >= e } || 0
number /= 10 ** display_exponent
unit = case units
when Hash
units[DECIMAL_UNITS[display_exponent]] || ''
when String, Symbol
I18n.translate(:"#{units}.#{DECIMAL_UNITS[display_exponent]}", :locale => options[:locale], :count => number.to_i)
else
translate_number_value_with_default("human.decimal_units.units.#{DECIMAL_UNITS[display_exponent]}", :locale => options[:locale], :count => number.to_i)
end
decimal_format = options[:format] || translate_number_value_with_default('human.decimal_units.format', :locale => options[:locale])
formatted_number = self.number_to_rounded(number, options)
decimal_format.gsub(/%n/, formatted_number).gsub(/%u/, unit).strip
endソースコード検索
バイト単位の数値を変換(number_to_human_size)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
バイト単位の数値を変換
使い方
number_to_human_size(数値 [, オプション])
オプション
| オプション | 説明 | |
|---|---|---|
| :locale | 使用するロケール | |
| :precision | 小数以下の桁数 | |
| :signigicant | 全体桁数 | |
| :separator | 小数点記号 | |
| :delimiter | 桁区切り文字 | |
| :strip_insignidicant_zeros | 小数点以下の0を削除 | |
| :prefix | 名前の接頭辞を設定 | :binary |
例
バイト単位に変換
<%= number_to_human_size(123456789) %>
# 118 MB
小数以下の桁数を指定
<%= number_to_human_size(524288000, precision: 5) %>
# 500 MB
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/number_helper.rb, line 421
def number_to_human_size(number, options = {})
options = options.symbolize_keys
return number unless valid_float?(number)
number = Float(number)
defaults = format_options(options[:locale], :human)
options = defaults.merge!(options)
#for backwards compatibility with those that didn't add strip_insignificant_zeros to their locale files
options[:strip_insignificant_zeros] = true if not options.key?(:strip_insignificant_zeros)
storage_units_format = translate_number_value_with_default('human.storage_units.format', :locale => options[:locale], :raise => true)
base = options[:prefix] == :si ? 1000 : 1024
if number.to_i < base
unit = translate_number_value_with_default('human.storage_units.units.byte', :locale => options[:locale], :count => number.to_i, :raise => true)
storage_units_format.gsub(/%n/, number.to_i.to_s).gsub(/%u/, unit)
else
max_exp = STORAGE_UNITS.size - 1
exponent = (Math.log(number) / Math.log(base)).to_i # Convert to base
exponent = max_exp if exponent > max_exp # we need this to avoid overflow for the highest unit
number /= base ** exponent
unit_key = STORAGE_UNITS[exponent]
unit = translate_number_value_with_default("human.storage_units.units.#{unit_key}", :locale => options[:locale], :count => number, :raise => true)
formatted_number = self.number_to_rounded(number, options)
storage_units_format.gsub(/%n/, formatted_number).gsub(/%u/, unit)
end
endソースコード検索
数値をパーセントに変換(number_to_percentage)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
数値をパーセントに変換
使い方
number_to_percentage(数値 [, オプション])
オプション
| オプション | 説明 | デフォルト |
|---|---|---|
| :locale | 使用するロケール | current locale |
| :precision | 小数以下の桁数 | 3 |
| :signigicant | 全体桁数 | false |
| :separator | 小数点記号 | . |
| :delimiter | 桁区切り文字 | |
| :strip_insignidicant_zeros | 小数点以下の0を削除 | false |
| :format | 出力される文字のフォーマット | %u%n(%uは通貨の単位 %nは数字部分) |
例
パーセント表示
<%= number_to_percentage(100) %>
# 100.000%
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/number_helper.rb, line 255
def number_to_percentage(number, options = {})
return unless number
options = options.symbolize_keys
defaults = format_options(options[:locale], :percentage)
options = defaults.merge!(options)
format = options[:format] || "%n%"
format.gsub('%n', self.number_to_rounded(number, options))
endソースコード検索
桁区切り文字を追加(number_with_delimiter)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
桁区切り文字を追加
使い方
number_with_delimiter(数値 [, オプション])
オプション
| オプション | 説明 |
|---|---|
| :locale | 使用するロケール |
| :delimiter | 桁区切り文字 |
| :separator | 小数点記号 |
| :raise | 引数が無効な場合に、InvalidNumberError |
例
桁区切り文字追加
<%= number_with_delimiter(123456789) %>
# 123,456,789
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_view/helpers/number_helper.rb, line 174
def number_with_delimiter(number, options = {})
options = escape_unsafe_delimiters_and_separators(options.symbolize_keys)
wrap_with_output_safety_handling(number, options.delete(:raise)) {
ActiveSupport::NumberHelper.number_to_delimited(number, options)
}
endソースコード検索
数値を特定の桁で丸める(number_with_precision)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
数値を特定の桁で丸める
使い方
number_with_precision(数値 [, オプション])
オプション
| オプション | 説明 |
|---|---|
| :locale | 使用するロケール |
| :precision | 小数以下の桁数 |
| :signigicant | 全体桁数 |
| :separator | 小数点記号 |
| :delimiter | 桁区切り文字 |
| :strip_insignidicant_zeros | 小数点以下の0を削除 |
| :raise | 引数が無効な場合に、InvalidNumberError |
例
<%= number_with_precision(123456789) %>
# 123456789.000
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_view/helpers/number_helper.rb, line 219
def number_with_precision(number, options = {})
options = escape_unsafe_delimiters_and_separators(options.symbolize_keys)
wrap_with_output_safety_handling(number, options.delete(:raise)) {
ActiveSupport::NumberHelper.number_to_rounded(number, options)
}
endソースコード検索
USの電話番号フォーマット(number_to_phone)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
USの電話番号フォーマット
使い方
number_to_phone(数値 [, オプション])
オプション
| オプション | 説明 | デフォルト |
|---|---|---|
| :area_code | エリアコード | |
| :delimiter | 桁区切り文字 | - |
| :extension | 末尾に追加する拡張子 | |
| :country_code | カントリーコード |
例
<%= number_with_precision(123456789) %>
# 123456789.000
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/number_helper.rb, line 139
def number_to_phone(number, options = {})
return unless number
options = options.symbolize_keys
number = number.to_s.strip
area_code = options[:area_code]
delimiter = options[:delimiter] || "-"
extension = options[:extension]
country_code = options[:country_code]
if area_code
number.gsub!(/(\d{1,3})(\d{3})(\d{4}$)/,"(\\1) \\2#{delimiter}\\3")
else
number.gsub!(/(\d{0,3})(\d{3})(\d{4})$/,"\\1#{delimiter}\\2#{delimiter}\\3")
number.slice!(0, 1) if number.start_with?(delimiter) && !delimiter.blank?
end
str = ''
str << "+#{country_code}#{delimiter}" unless country_code.blank?
str << number
str << " x #{extension}" unless extension.blank?
str
endソースコード検索
数字を区切り文字を使用してグループ化(number_to_delimited)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
数字を区切り文字を使用してグループ化
使い方
number_to_delimited(数値 [, オプション])
オプション
| オプション | 説明 |
|---|---|
| :locale | 使用するロケール |
| :delimiter | 桁区切り文字 |
| :separator | 少数と整数の区切り文字を設定 |
例
number_to_delimited(12345678)
# 12,345,678
number_to_delimited('123456')
# 123,456
number_to_delimited(12345678.05)
# 12,345,678.05
number_to_delimited(12345678, delimiter: '.')
# 12.345.678
number_to_delimited(12345678, delimiter: ',')
# 12,345,678
number_to_delimited(12345678.05, separator: ' ')
# 12,345,678 05
number_to_delimited(12345678.05, locale: :fr)
# 12 345 678,05
number_to_delimited('112a')
# 112a
number_to_delimited(98765432.98, delimiter: ' ', separator: ',')
# => 98 765 432,98
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/number_helper.rb, line 291
def number_to_delimited(number, options = {})
options = options.symbolize_keys
return number unless valid_float?(number)
options = format_options(options[:locale]).merge!(options)
parts = number.to_s.to_str.split('.')
parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{options[:delimiter]}")
parts.join(options[:separator])
endソースコード検索
フォーマットの指定されたレベル(number_to_rounded)
適応バージョン
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.0
説明
フォーマットの指定されたレベル
使い方
number_to_rounded(数値 [, オプション])
オプション
| オプション | 説明 | デフォルト |
|---|---|---|
| :locale | 使用するロケール。YAML形式で「/config/locales/」以下の設定 | |
| :precision | 小数以下の桁数 | 2 |
| :significant | false | |
| :separator | 小数点記号 | . |
| :delimiter | 桁区切り文字 | , |
| :strip_insignificant_zeros | 小数点以下の余分な0を削除 | false |
例
number_to_rounded(111.2345)
# 111.235
number_to_rounded(111.2345, precision: 2)
# 111.23
number_to_rounded(13, precision: 5)
# 13.00000
number_to_rounded(389.32314, precision: 0)
# 389
number_to_rounded(111.2345, significant: true)
# 111
number_to_rounded(111.2345, precision: 1, significant: true)
# 100
number_to_rounded(13, precision: 5, significant: true)
# 13.000
number_to_rounded(111.234, locale: :fr)
# 111,234
number_to_rounded(13, precision: 5, significant: true, strip_insignificant_zeros: true)
# 13
number_to_rounded(389.32314, precision: 4, significant: true)
# 389.3
number_to_rounded(1111.2345, precision: 2, separator: ',', delimiter: '.')
# 1.111,23
ソースコード
# File /usr/local/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/number_helper.rb, line 342
def number_to_rounded(number, options = {})
return number unless valid_float?(number)
number = Float(number)
options = options.symbolize_keys
defaults = format_options(options[:locale], :precision)
options = defaults.merge!(options)
precision = options.delete :precision
significant = options.delete :significant
strip_insignificant_zeros = options.delete :strip_insignificant_zeros
if significant && precision > 0
if number == 0
digits, rounded_number = 1, 0
else
digits = (Math.log10(number.abs) + 1).floor
rounded_number = (BigDecimal.new(number.to_s) / BigDecimal.new((10 ** (digits - precision)).to_f.to_s)).round.to_f * 10 ** (digits - precision)
digits = (Math.log10(rounded_number.abs) + 1).floor # After rounding, the number of digits may have changed
end
precision -= digits
precision = 0 if precision < 0 # don't let it be negative
else
rounded_number = BigDecimal.new(number.to_s).round(precision).to_f
rounded_number = rounded_number.abs if rounded_number.zero? # prevent showing negative zeros
end
formatted_number = self.number_to_delimited("%01.#{precision}f" % rounded_number, options)
if strip_insignificant_zeros
escaped_separator = Regexp.escape(options[:separator])
formatted_number.sub(/(#{escaped_separator})(\d*[1-9])?0+\z/, '\1\2').sub(/#{escaped_separator}\z/, '')
else
formatted_number
end
end