Ruby の基礎(日付と時間、文字列のフォーマット)

Ruby の基礎(配列オブジェクト、ハッシュオブジェクト) - tatsuyaoiw.hatenablog.com の次は、日付と時間、文字列のフォーマットについて。

日付と時間

日付と時間の書き方。

t = Time.now # 現在時刻
p t
p t.year
p t.month

t = Time.mktime(2012, 7, 19, 9, 0, 0) # 指定の Time オブジェクトを作成
p t
p t + 10 # 10 秒追加
p t.strftime("%Y/%m/%d") # フォーマット化して表示

実行結果。

2012-07-22 09:49:08 +0900
2012
7
2012-07-19 09:00:00 +0900
2012-07-19 09:00:10 +0900
"2012/07/19"

文字列のフォーマット(printf メソッドについて)

文字列のフォーマットを整えて表示したいときは、printf メソッドを使います。

x = "tatsuya"; y = 25
printf("%s's score is %d\n", x, y) # %s は文字列、%d は数値
printf("%10s's score is %d\n", x, y) # 桁数を指定
printf("%-10s's score is %d\n", x, y) # 左詰め
printf("%-10s's score is %08d\n", x, y) # 0 埋め
z = sprintf("%-10s's score is %08d\n", x, y) # 変換した値を返す
p z

実行結果は以下のとおり。

tatsuya's score is 25
   tatsuya's score is 25
tatsuya   's score is 25
tatsuya   's score is 00000025
"tatsuya   's score is 00000025\n"