- ベストアンサー
Rubyにおけるファイル作成日(yyyy/mm/dd)の求め方
Rubyを使って、テキスト処理をしようとしています。 ファイル作成日を取り出す必要があり、 p File::mtime(filename) を使っています。しかし、これの出力は、 Wed Apr 25 17:44:44 +0900 2007 このような、フォーマットです。 普通に、 2007/04/25 の形で使いたいのです。 (1)ライブラリは、あるのでしょうか? ある場合には、それの呼び出す方法も併せて教えていただけないでしょうか? (2)サブルーチンを作る場合には、その作り方を教えていただけないでしょうか? 当方、Rubyを始めたばかりなものですから、本当に申し訳ない。 宜しくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.6
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.5
- notnot
- ベストアンサー率47% (4903/10364)
回答No.4
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.3
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.2
補足
koko_u_さん、ありがとうございます。 うまく行きました。1行で終わるとは、考えていませんでした。感激です。 しかし、勉強のために、教えてください。 サブルーチンを検討していました。 スクリプトの先頭で、defで定義しました。 型変換のところで、ぶつかっております。 # --format change "Tue May 01 00:00:00 JST 2001" --> 2001/05/01 def formatchange(rubydate) (/\w+\s(\w+)\s(\d+)\s\S+\s\S+\s(\d+)/=~rubydate.to_s) && (myMonth=$1;myDay=$2;myYear=$3) myMonth= myMonth.sub(/Jan/,'01') myMonth= myMonth.sub(/Feb/,'02') myMonth= myMonth.sub(/Mar/,'03') myMonth= myMonth.sub(/Apr/,'04') myMonth= myMonth.sub(/May/,'05') myMonth= myMonth.sub(/Jun/,'06') myMonth= myMonth.sub(/Jul/,'07') myMonth= myMonth.sub(/Aug/,'08') myMonth= myMonth.sub(/Sep/,'09') myMonth= myMonth.sub(/Oct/,'10') myMonth= myMonth.sub(/Nov/,'11') myMonth= myMonth.sub(/Dec/,'12') myFiledate=myYear+'/'+myMonth+'/'+myDay return myFiledate end これは、まだ、うまく動いておりません。 型変換のところが問題です。サジェスチョンをお願いできますか?