0
1

More than 1 year has passed since last update.

strftimeメソッドの使い方

Posted at

rubyシルバーを勉強していくなかで、strftimeメソッドについてわからなかったので、解説していこうとおもいます。

strftimeメソッドとは

strftimeメソッドとは、Timeクラスのインスタンスメソッドなんです。
Timeクラスとは名前からも分かる通り、時刻を表すクラスです。

このメソッドをもし使わなかったら、どう時刻や日付を表現するのでしょうか(あくまで一例です)

date = DateTime.now
=> Tue, 01 Feb 2022 22:36:33 +0900

でも、フロント画面にこう表示されたら、ちょっとイケてないですよね。
そこで登場するのが、strftimeメソッドなんですね。

実際に使ってみましょう

date = Datetime.now
date.strftime('%Y年%m月%d日')
=> "2022年02月01日"

date.strftime('%Y年%m月%d日%H時%M分')
=> "2022年02月01日22時52分"

他にも使えるフォーマット文字列があるので、こちらの公式ドキュメントを参考にしてみてください

実際に問題を解いてみましょう

image.png

選択肢➀

%xは、%Dと同じなんです。じゃあ、%Dはどんな結果を出すかというと、%m/%d/%yを表現します。
%mは01~12で表し、日にちを表します。%dは、01~31で日付を表します。%yは西暦の下二桁を表します。今回の問題でいえば、15です。

これが正解になります。

選択肢➁

%m/%d/%Yを見ていきましょう。%mは、日にちですね。01~12を表します。%dは01~31を表します。ここまでは正解なのですが、%Yがアウトです。
%Yは西暦を表すんです。今回の問題でいえば、2015を表します。
そのため、この問題では不正解です。

選択肢➂

%mは、日にちですね。01~12を表します。%Dは「/月/日/年」を表現するので、この時点で、この選択肢は不正解ですね。%yは、西暦の下二桁を表します。今回の問題でいえば、15です。

選択肢➃

%Mは、分を表すので、この時点で不正解になります。

以上より、この問題の選択肢は➀が正解です

以上です。何か間違いがございましたら、ご教示いただけますと幸いです。

【参考文献】

0
1
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
1