mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
updated to the new version (based on date2 2.6.1).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ca823d61e7
commit
b4672c518e
2 changed files with 35 additions and 31 deletions
|
|
@ -1,3 +1,7 @@
|
||||||
|
Wed May 22 21:36:11 2002 Tadayoshi Funaba <tadf@dotrb.org>
|
||||||
|
|
||||||
|
* lib/parsedate.rb: updated to the new version (based on date2 2.6.1).
|
||||||
|
|
||||||
Wed May 22 21:26:47 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
|
Wed May 22 21:26:47 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
|
||||||
|
|
||||||
* ruby.c (proc_options): -T consumes digits only.
|
* ruby.c (proc_options): -T consumes digits only.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# parsedate3.rb: Written by Tadayoshi Funaba 2000, 2001
|
# parsedate3.rb: Written by Tadayoshi Funaba 2000-2002
|
||||||
# $Id: parsedate3.rb,v 1.3 2001-01-18 12:09:47+09 tadf Exp $
|
# $Id: parsedate3.rb,v 1.6 2002-05-16 20:03:28+09 tadf Exp $
|
||||||
|
|
||||||
module ParseDate
|
module ParseDate
|
||||||
|
|
||||||
|
|
@ -19,6 +19,8 @@ module ParseDate
|
||||||
def parsedate(date, cyear=false)
|
def parsedate(date, cyear=false)
|
||||||
date = date.dup
|
date = date.dup
|
||||||
|
|
||||||
|
date.gsub!(/[^-+.\/:0-9a-z]+/ino, ' ')
|
||||||
|
|
||||||
# day
|
# day
|
||||||
if date.sub!(/(#{DAYPAT})\S*/ino, ' ')
|
if date.sub!(/(#{DAYPAT})\S*/ino, ' ')
|
||||||
wday = DAYS[$1.downcase]
|
wday = DAYS[$1.downcase]
|
||||||
|
|
@ -29,17 +31,15 @@ module ParseDate
|
||||||
/(\d+):(\d+)(?::(\d+))?
|
/(\d+):(\d+)(?::(\d+))?
|
||||||
(?:
|
(?:
|
||||||
\s*
|
\s*
|
||||||
([ap])\.?m\.?
|
([ap])(?:m\b|\.m\.)
|
||||||
\b
|
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
\s*
|
\s*
|
||||||
(
|
(
|
||||||
[a-z]+(?:\s+dst)?
|
[a-z]+(?:\s+dst)?\b
|
||||||
|
|
|
|
||||||
[-+]\d+(?::?\d+)
|
[-+]\d+(?::?\d+)
|
||||||
)
|
)
|
||||||
\b
|
|
||||||
)?
|
)?
|
||||||
/inox,
|
/inox,
|
||||||
' ')
|
' ')
|
||||||
|
|
@ -62,7 +62,7 @@ module ParseDate
|
||||||
(#{MONTHPAT})\S*
|
(#{MONTHPAT})\S*
|
||||||
(?:
|
(?:
|
||||||
\s+
|
\s+
|
||||||
(\d+)
|
(-?\d+)
|
||||||
)?
|
)?
|
||||||
/inox,
|
/inox,
|
||||||
' ')
|
' ')
|
||||||
|
|
@ -77,7 +77,7 @@ module ParseDate
|
||||||
(\d+)\S*
|
(\d+)\S*
|
||||||
(?:
|
(?:
|
||||||
\s+
|
\s+
|
||||||
(\d+)
|
(-?\d+)
|
||||||
)?
|
)?
|
||||||
/inox,
|
/inox,
|
||||||
' ')
|
' ')
|
||||||
|
|
@ -86,7 +86,7 @@ module ParseDate
|
||||||
year = $3.to_i if $3
|
year = $3.to_i if $3
|
||||||
|
|
||||||
# iso
|
# iso
|
||||||
elsif date.sub!(/(\d+)-(\d+)-(\d+)/no, ' ')
|
elsif date.sub!(/([-+]?\d+)-(\d+)-(-?\d+)/no, ' ')
|
||||||
year = $1.to_i
|
year = $1.to_i
|
||||||
mon = $2.to_i
|
mon = $2.to_i
|
||||||
mday = $3.to_i
|
mday = $3.to_i
|
||||||
|
|
@ -102,14 +102,14 @@ module ParseDate
|
||||||
year, mon, mday = $2.to_i + e, $3.to_i, $4.to_i
|
year, mon, mday = $2.to_i + e, $3.to_i, $4.to_i
|
||||||
|
|
||||||
# vms
|
# vms
|
||||||
elsif date.sub!(/(\d+)-(#{MONTHPAT})\S*-(\d+)/ino, ' ')
|
elsif date.sub!(/(-?\d+)-(#{MONTHPAT})[^-]*-(-?\d+)/ino, ' ')
|
||||||
mday = $1.to_i
|
mday = $1.to_i
|
||||||
mon = MONTHS[$2.downcase]
|
mon = MONTHS[$2.downcase]
|
||||||
year = $3.to_i
|
year = $3.to_i
|
||||||
year, mon, mday = mday, mon, year if $1.size >= 4
|
year, mon, mday = mday, mon, year if $1.size >= 4
|
||||||
|
|
||||||
# sla
|
# sla
|
||||||
elsif date.sub!(%r|(\d+)/(\d+)(?:/(\d+))?|no, ' ')
|
elsif date.sub!(%r|(-?\d+)/(\d+)(?:/(-?\d+))?|no, ' ')
|
||||||
mon = $1.to_i
|
mon = $1.to_i
|
||||||
mday = $2.to_i
|
mday = $2.to_i
|
||||||
year = $3.to_i if $3
|
year = $3.to_i if $3
|
||||||
|
|
@ -117,7 +117,7 @@ module ParseDate
|
||||||
|
|
||||||
# ddd
|
# ddd
|
||||||
elsif date.sub!(
|
elsif date.sub!(
|
||||||
/(\d{4,14})
|
/([-+]?)(\d{4,14})
|
||||||
(?:
|
(?:
|
||||||
\s*
|
\s*
|
||||||
T?
|
T?
|
||||||
|
|
@ -135,35 +135,35 @@ module ParseDate
|
||||||
)?
|
)?
|
||||||
/nox,
|
/nox,
|
||||||
' ')
|
' ')
|
||||||
case $1.size
|
case $2.size
|
||||||
when 4
|
when 4
|
||||||
mon = $1[ 0, 2].to_i
|
mon = $2[ 0, 2].to_i
|
||||||
mday = $1[ 2, 2].to_i
|
mday = $2[ 2, 2].to_i
|
||||||
when 6
|
when 6
|
||||||
year = $1[ 0, 2].to_i
|
year = ($1 + $2[ 0, 2]).to_i
|
||||||
mon = $1[ 2, 2].to_i
|
mon = $2[ 2, 2].to_i
|
||||||
mday = $1[ 4, 2].to_i
|
mday = $2[ 4, 2].to_i
|
||||||
when 8, 10, 12, 14
|
when 8, 10, 12, 14
|
||||||
year = $1[ 0, 4].to_i
|
year = ($1 + $2[ 0, 4]).to_i
|
||||||
mon = $1[ 4, 2].to_i
|
mon = $2[ 4, 2].to_i
|
||||||
mday = $1[ 6, 2].to_i
|
mday = $2[ 6, 2].to_i
|
||||||
hour = $1[ 8, 2].to_i if $1.size >= 10
|
hour = $2[ 8, 2].to_i if $2.size >= 10
|
||||||
min = $1[10, 2].to_i if $1.size >= 12
|
min = $2[10, 2].to_i if $2.size >= 12
|
||||||
sec = $1[12, 2].to_i if $1.size >= 14
|
sec = $2[12, 2].to_i if $2.size >= 14
|
||||||
end
|
end
|
||||||
if $2
|
if $3
|
||||||
case $2.size
|
case $3.size
|
||||||
when 2, 4, 6
|
when 2, 4, 6
|
||||||
hour = $2[ 0, 2].to_i
|
hour = $3[ 0, 2].to_i
|
||||||
min = $2[ 2, 2].to_i if $2.size >= 4
|
min = $3[ 2, 2].to_i if $3.size >= 4
|
||||||
sec = $2[ 4, 2].to_i if $2.size >= 6
|
sec = $3[ 4, 2].to_i if $3.size >= 6
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
zone = $3
|
zone = $4
|
||||||
end
|
end
|
||||||
|
|
||||||
if cyear and year
|
if cyear and year
|
||||||
if year < 100
|
if year >= 0 and year <= 99
|
||||||
if year >= 69
|
if year >= 69
|
||||||
year += 1900
|
year += 1900
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue