[ruby-dev:9544] Re: parsedate2
From:
Tadayoshi Funaba <tadf@...>
Date:
2000-04-01 11:03:08 UTC
List:
ruby-dev #9544
ふなばです。
ちょっと直したので、パッチです。
--- parsedate3.rb 2000/03/26 11:55:40 1.1
+++ parsedate3.rb 2000/04/01 03:17:01
@@ -1,3 +1,3 @@
# parsedate3.rb: Written by Tadayoshi Funaba 2000
-# $Id: parsedate3.rb,v 1.1 2000/03/26 11:55:40 tadf Exp $
+# $Id: parsedate3.rb,v 1.2 2000/04/01 03:16:56 tadf Exp $
@@ -10,3 +10,3 @@
}
- MONTHPAT = MONTHS.keys.sort.reverse.join('|')
+ MONTHPAT = MONTHS.keys.join('|')
@@ -16,3 +16,3 @@
}
- DAYPAT = DAYS.keys.sort.reverse.join('|')
+ DAYPAT = DAYS.keys.join('|')
@@ -32,2 +32,3 @@
([ap])\.?m\.?
+ \b
)?
@@ -40,2 +41,3 @@
)
+ \b
)?
@@ -64,15 +66,14 @@
year = $3.to_i if $3
- end
# us
- if date.sub!(
- /(#{MONTHPAT})\S*
- \s+
- (\d+)\S*
- (?:
- \s+
- (\d+)
- )?
- /inox,
- ' ')
+ elsif date.sub!(
+ /(#{MONTHPAT})\S*
+ \s+
+ (\d+)\S*
+ (?:
+ \s+
+ (\d+)
+ )?
+ /inox,
+ ' ')
mon = MONTHS[$1.downcase]
@@ -80,6 +81,5 @@
year = $3.to_i if $3
- end
# iso
- if date.sub!(/(\d+)-(\d+)-(\d+)/no, ' ')
+ elsif date.sub!(/(\d+)-(\d+)-(\d+)/no, ' ')
year = $1.to_i
@@ -88,6 +88,5 @@
mday, mon, year = year, mon, mday if $3.size >= 4
- end
# jis
- if date.sub!(/([MTSH])(\d+)\.(\d+)\.(\d+)/no, ' ')
+ elsif date.sub!(/([MTSH])(\d+)\.(\d+)\.(\d+)/no, ' ')
e = { 'M'=>1867,
@@ -97,7 +96,6 @@
}[$1]
- year, mon, mday = ($2.to_i + e), $3.to_i, $4.to_i
- end
+ year, mon, mday = $2.to_i + e, $3.to_i, $4.to_i
# vms
- if date.sub!(/(\d+)-(#{MONTHPAT})\S*-(\d+)/ino, ' ')
+ elsif date.sub!(/(\d+)-(#{MONTHPAT})\S*-(\d+)/ino, ' ')
mday = $1.to_i
@@ -106,6 +104,5 @@
year, mon, mday = mday, mon, year if $1.size >= 4
- end
# sla
- if date.sub!(%r|(\d+)/(\d+)(?:/(\d+))?|no, ' ')
+ elsif date.sub!(%r|(\d+)/(\d+)(?:/(\d+))?|no, ' ')
mon = $1.to_i
@@ -114,23 +111,23 @@
year, mon, mday = mon, mday, year if $1.size >= 4
- end
# ddd
- if date.sub!(
- /(\d{4,14})
- (?:
- \s*
- T?
- \s*
- (\d{2,6})
- )?
- (?:
- \s*
- (
- Z
- |
- [-+]\d{2,4}
- )
- )?
- /nox,
- ' ')
+ elsif date.sub!(
+ /(\d{4,14})
+ (?:
+ \s*
+ T?
+ \s*
+ (\d{2,6})
+ )?
+ (?:
+ \s*
+ (
+ Z
+ |
+ [-+]\d{2,4}
+ )
+ \b
+ )?
+ /nox,
+ ' ')
case $1.size
ふなば ただよし