2014-12-29 Time#strftimeのフォーマット文字列に関するあれこれ(その1) ruby Time#strftimeは、曜日、年度指定のよくあるフォーマット文字列以外にも便利なショートカットがあります。 実例 20文字詰め、全文大文字で月の英語名を出す 月の英語名は「%B」です Time.now.strftime("%B") #=> "December" ここに文字詰め「_NUM」を突っ込み… Time.now.strftime("%20B") #=> " December" さらに文字列の大文字小文字変換「#」を突っ込むと*1 Time.now.strftime("%#_20B") #=> " DECEMBER" と、制御構造や正規表現抜きで書くことができます。 余談 「%B」と文字詰め自体はrubyのprintf構文にも採用されていますが、前者は挙動が違います。 sprintf("%#20b", "10") => " 0B1010" 参考もと instance method Time#strftime *1:まとめ系フォーマットについては適用外です。これについては次回記事にします。