0
3

More than 3 years have passed since last update.

strftimeについて

Last updated at Posted at 2020-12-02

strftimeとは?

 日時データを指定したフォーマットで文字列に変換することができるメソッド。
 TimeクラスDateクラスDateTimeクラスのオブジェクトを指定したフォームで文字列として取得し表示させることができる。

各クラスについて

◯Timeクラス
 日時を扱えるクラス。

ターミナル
# 現在の日時を取得
today = Time.now
=> 2000-01-01 12:00:00 +0000

# 日時を指定して作成
day = Time.new(2000,1,1,12,00,00)
=> 2000-01-01 12:00:00 +0000

◯Dateクラス
 日付を扱えるクラス。rubyで使うためにはrequire "date"が必要になる。

ターミナル
require "date"

# 現在の日時を取得
today = Date.today
=> Wed, 01 Jan 2000

# 日時を指定して作成
day = Date.new(2000,1,1)
=> Wed, 01 Jan 2000

◯DateTimeクラス
 日時を扱えるクラス。Dateクラスのサブクラスとして定義されているため、rubyで使うためにはDateクラスと同じようにrequire "date"が必要になる。

ターミナル
require "date"

# 現在の日時を取得
today = DateTime.now
=> Wed, 01 Jan 2000 12:00:00 +0000

# 日時を指定して作成
day = DateTime.new(2000,1,1,12,00,00)
=> Wed, 01 Jan 2000 12:00:00 +0000

strftimeメソッドの使い方

使い方
require "date"

datetime = DateTime.now
datetime.strftime("書式")

例)2000年1月1日と表示させたい場合

require "date"

datetime = DateTime.new(2000,1,1,12,00,00)
datetime.strftime("%Y年%m月%d日")
=> "2000年01月01日"

 指定できる書式は下記の通りとなる。

※「 2000-01-02 15:12:34+09:00 」を基準に使用

書式 返り値 説明
%Y 2000 西暦を4桁の数で取得する
%m 01 月を2桁の数字で取得する(01〜12)
%-m 1 月を1桁か2桁の数字で取得する(1〜12)
%d 02 日付を2桁で取得する(01〜31)
%-d 2 日付を1桁か2桁で取得する(1〜31)
%H 15 24時間制の時刻を2桁で取得する(00〜23)
%-H 15 24時間制の時刻を1桁か2桁で取得する(0〜23)
%I 3 12時間制の時刻を1桁か2桁で取得する(1〜12)
%M 12 分を取得する(00〜59)
%S 34 秒を取得する(00〜60)※60はうるう秒
0
3
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
0
3