30

20120119日付をフォーマットで表す文字列があります'YYYYMMDD'

この文字列を日付を表すRubyオブジェクトに解析して、今日の日付との差分などの基本的な日付計算を実行できるようにします。

バージョン1.8.6(要件)を使用しています。

4

1 に答える 1

77

Date.strptimeRubyの標準ライブラリで提供されているメソッドを使用できます。

require 'date'
string = "20120723"
date = Date.strptime(string,"%Y%m%d")

または、コメントで提案されているように、Date.parseこの場合はヒューリスティックが正しく機能するため、を使用できます。

require 'date'
string = "20120723"
date = Date.parse(string)

ArgumentError日付が有効でない場合、両方ともを発生させます。

require 'date'
Date.strptime('2012-March', '%Y-%m')
#=> ArgumentError: invalid date

Date.parse('2012-Foo') # Note that '2012-March' would actually work here
#=> ArgumentError: invalid date

時間や分なども表す場合は、DateTimeを確認する必要があります。DateTimeはparse、のparseメソッドのように機能するメソッドも提供しDateます。同じことが。にも当てはまりstrptimeます。

于 2012-07-23T17:32:30.260 に答える