date4 $B$O!"<B83$N$?$a$N(B date2 $B$+$i$NGI@8J*$G$9!#(B

  - $B%?%$%`%>!<%s<h$j07$$$N;Y1g(B
  - $B%G%k%?%/%i%9$NDs6!(B
  - $B$=$NB>!";(B?$JJQ99(B

$BNc$H$7$F!"%?%$%`%>!<%s$N0Y$K$$$/$D$+$N<BAu$rMQ0U$7$^$7$?!#(B

$BCOJ};~$r;2>H$G$-$^$9(B ($B%=!<%9$O(B ruby $B$N(B Time)

  require 'date4'
  require 'date4/timezone/system'

  DateTime4.new(2006,6,6,:tz=>Date4::TimeZone::System::Local).strftime('%+')
	=> "Tue Jun  6 00:00:00 JST 2006"

$B2F;~4V$N%k!<%k$rM?$($F%?%$%`%>!<%s$r:n$k$3$H$,$G$-$^$9!#(B

  require 'date4/timezone/posix'

  EST = Date4::TimeZone::POSIX.new('EST5EDT,M4.1.0,M10.5.0')
  DateTime4.new(2006,6,6,:tz=>EST).strftime('%+')
	=> "Tue Jun  6 00:00:00 EDT 2006"

Olson $B$N%G!<%?%Y!<%9$r;2>H$G$-$^$9!#(B

  require 'date4/timezone/tzfile'

  CET = Date4::TimeZone::TZFile.new('Europe/Paris')
  DateTime4.new(2006,6,6,:tz=>CET).strftime('%+')
	=> "Tue Jun  6 00:00:00 CEST 2006"

Philip Ross $B$N(B tzinfo $B$r;2>H$G$-$^$9!#(B

  require 'date4/timezone/tzinfo'

  JST = Date4::TimeZone::TZInfo.new('Asia/Tokyo')
  DateTime4.new(2006,6,6,:tz=>JST).strftime('%+')
	=> "Tue Jun  6 00:00:00 JST 2006"

Date4 $B$d(B DateTime4 $B$H0l=o$K%G%k%?%/%i%9$,$D$+$($^$9!#(B

  d = DateTime4.parse('2006-06-06') - DateTime4.parse('2006-06-05T23:00')
  [d.in_minutes, d.in_seconds, d.in_nanoseconds]
	=> [60/1, 3600/1, 3600000000000/1]

  dt = DateTime4.new(2006,6,6,:tz=>EST)
  dt.strftime('%+')
	=> "Tue Jun  6 00:00:00 EDT 2006"

  dt -= Date4::Delta.parse('180 days and 12 hours')
  dt.strftime('%+')
	=> "Wed Dec  7 11:00:00 EST 2005"

  dt += Date4::Delta.parse('-(2 fortnights - 1 hour * 673)')
  dt.strftime('%+')
	=> "Wed Dec  7 12:00:00 EST 2005"


$B=hM}B.EY$,5$$K$J$kJ}$O!"86$5$s$N(B rational $B%i%$%V%i%j$r$*;n$7$/$@$5$$!#(B
