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分"
他にも使えるフォーマット文字列があるので、こちらの公式ドキュメントを参考にしてみてください
###選択肢➀
%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は、分を表すので、この時点で不正解になります。
以上より、この問題の選択肢は➀が正解です
以上です。何か間違いがございましたら、ご教示いただけますと幸いです。
【参考文献】