21
私は文字列20120119
を持っています。日付は'YYYYMMDD'
です。Rubyの日付文字列を解析します
この文字列を解析して日付を表すRubyオブジェクトにしたいので、今日の日付に対してdiffなどの基本的な日付計算を行うことができます。
バージョン1.8.6(要件)を使用しています。
あなたはRubyの標準ライブラリで提供さDate.strptime
方法使用することができます
私は文字列20120119
を持っています。日付は'YYYYMMDD'
です。Rubyの日付文字列を解析します
この文字列を解析して日付を表すRubyオブジェクトにしたいので、今日の日付に対してdiffなどの基本的な日付計算を行うことができます。
バージョン1.8.6(要件)を使用しています。
あなたはRubyの標準ライブラリで提供さDate.strptime
方法使用することができます
:ヒューリスティックは、このケースでは正常に動作しているため
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には、Date
のparseメソッドのように機能するparse
メソッドもあります。 strptime
も同じです。
Date.parseはYYYYMMDDでも動作します。フォーマット文字列は必要ありません。 – rrhartjr
解析例外はどうですか? – chrisapotek
文字列が解析例外をスローするかどうかを検出する方法はありますか? – theUtherSide