Ubuntu 12.04 上の Python 2.7 で Bear による parsedatetime ライブラリを使用します。文字を含むが有効な日付 (または時刻) を含まない文字列を渡すと、parse() 関数が有効な日付/時刻を返すことがあります。
Issue 48 を提出した後、parsedatetime は実際には日付/時刻を含まない文字列を必要としていないようです。
では、文字列に有効な日付が含まれているかどうかのブール値を決定するためのプリプロセッサについて考えてみませんか?
参照リンク: https://github.com/bear/parsedatetime/ https://code.google.com/p/parsedatetime/issues/detail?id=48
注: Issue 48 では、parseDateText() を不適切に呼び出しています。parse() でも同様の操作が存在することを確認しました。
どんな援助も大歓迎です。
編集:コード例。
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import parsedatetime as pdt
>>> c = pdt.Constants()
>>> c.BirthdayEpoc = 80
>>> p = pdt.Calendar(c)
>>> print p.parse("Mary had a little lamb.")
((2014, 3, 1, 20, 53, 56, 6, 69, 1), 1)
>>> print p.parse("foo bar")
(time.struct_time(tm_year=2013, tm_mon=3, tm_mday=10, tm_hour=20, tm_min=54, tm_sec=6, tm_wday=6, tm_yday=69, tm_isdst=1), 0)
>>> print p.parse("March 12th, 2013")
((2013, 3, 12, 20, 54, 34, 6, 69, 1), 1)
>>>