プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby on Rails
  • 【Ruby】日付や時刻を扱うクラス
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby】日付や時刻を扱うクラス

11.17

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

Timeクラス

  • 日付を扱うクラスで組み込みの標準ライブラリ(requireは不要)
  • 高速に動作をします。
  • UNIX時間に依存するため2038年問題があります。(Ruby1.9.2で対応はされました。)
  • タイムゾーンがロケールに依存する。

nowメソッド

現在日時を取得する。

zoneメソッド

どのタイムゾーンを使用しているかチェックできる。(例:Time.now.zone)

newメソッド

任意の日時の日時を生成する。

1
Time.new(yyyy,mm,dd,hh,mm)

strftimeメソッド

好きなフォーマットの日時を生成できます。例えば下記のような感じで使えます。

1
Time.new().strftime('%Y年 %m月 %d日')

%で指定できる文字には様々な種類があります。

Dateクラス

  • 日時を扱うクラス
  • 使う場合はrequire文が必要になる。
  • 作成されたオブジェクト自体にはタイムゾーンの情報を持っていないのでzoneメソッドはない。

todayメソッド

今日の日付を取得できる。

newメソッド

任意の日付を生成できる。

1
Date.new(yyyy,mm,dd)

strftimeメソッド

好きなフォーマットの日付を生成できます。使える%はTimeクラスとほぼ同等です。

DateTimeクラス

  • 日時を扱うクラス
  • Timeに比べると遅い。
  • UNIX時間に依存しないのでより柔軟に日時を表現できます。
  • タイムゾーンが世界標準時に依存する。

ActiveSupport::TimeWithZoneクラス

  • Railsで日時を扱う場合に採用されるクラスです。
  • タイムゾーンはデフォルトで世界標準時になっています。

Time.now.zone

現在のタイムゾーン

タイムゾーンを変えるには?

タイムゾーンを変更するには下記の2つの方法があります。

アプリケーションの設定ふぁいるで起動時に適切な値にする方法

config/application.rbに以下の設定を追加します。

1
2
3
4
5
6
module アプリ名
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 5.2
    config.time_zone = 'Asia/Tokyo' ★追加
  ‥

Railsアプリの中で動的にタイムゾーンを変更する方法

タイムゾーンを日本に変更したい場合は下記のように指定します。

1
Time.zone = 'Asia/Tokyo'

Railsで日時フォーマットを共通化するには?

下記のファイルを作成します。

config/initializers/time_formats.rb

例えば、日本語のフォーマットであれば下記のように記述します。

1
Time::DATE_FORMATS[:date_jp] = '%Y年 %m月 %d日'

Railsの再起動が必要になります。Railsの実装の中では下記のように呼び出します。

1
Timeクラス.to_s(:date_jp)

スポンサーリンク
  • 2019 11.17
  • miyabisan2
  • コメントを書く
  • Ruby, Ruby on Rails
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.04

    【Webセキュリティ】ハッシュ関数(digest)、実装方法、パスワード運用について

  2. 2020 03.22

    【Ruby on Rails】Active Recordの絞り込みメソッドまとめ

  3. 2019 12.08

    【Ruby on Rails】「Turbolinks」によるページ遷移高速化

  4. 2020 07.18

    【Ruby on Rails】環境変数に関する知識、direnv

  5. 2020 07.18

    【Ruby on Rails】「Action Text」について

  6. 2019 12.07

    【Ruby on Rails】「Active Storage」の基本

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby】例外処理

【Git】ローカルリポジトリの知識、gitデータの管理…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー