Changeset 346

Show
Ignore:
Timestamp:
11/14/06 00:45:43 (2 years ago)
Author:
ogawa
Message:

Fix a bug for events without enddates.
Fix a bug for handling outranged dates.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • WWW-CybozuOffice6-Calendar/trunk/lib/WWW/CybozuOffice6/Calendar.pm

    r343 r346  
    8787        $is_full_day = 1; 
    8888    } elsif ($fields[6] =~ /^:$/) {     # event w/o endtime 
    89         $end   = $start->add(minutes => 10); 
     89        $end   = $start->clone->add(minutes => 10); 
    9090    } 
    9191 
     
    137137    my @d = split '/', $_[0] || ''; 
    138138    my @t = split ':', $_[1] || ''; 
    139     DateTime->new( 
    140         year => $d[0], month => $d[1], day => $d[2], 
    141         hour => $t[0] || 0, minute => $t[1] || 0, second => $t[2] || 0, 
     139    my %args = ( 
     140        year      => $d[0], 
     141        month     => $d[1], 
     142        day       => $d[2], 
     143        hour      => $t[0] || 0, 
     144        minute    => $t[1] || 0, 
     145        second    => $t[2] || 0, 
    142146        time_zone => $this->{time_zone} || 'Asia/Tokyo', 
    143147    ); 
     148    if ($args{hour} >= 24) { 
     149        $args{hour}   = 23; 
     150        $args{minute} = 59; 
     151        $args{second} = 59; 
     152    } 
     153    DateTime->new(%args); 
    144154} 
    145155