@ -649,25 +649,25 @@ UInt32 cyMisc::ConvertGMTtoDni(UInt32 gtime)
plUnifiedTime utime = plUnifiedTime ( ) ;
plUnifiedTime utime = plUnifiedTime ( ) ;
utime . SetSecs ( dtime ) ;
utime . SetSecs ( dtime ) ;
// check for daylight savings time in New Mexico and adjust
// check for daylight savings time in New Mexico and adjust
if ( utime . GetMonth ( ) > = 4 & & utime . GetMonth ( ) < 11 )
if ( utime . GetMonth ( ) > = 3 & & utime . GetMonth ( ) < = 11 )
{
{
plUnifiedTime dstStart = plUnifiedTime ( ) ;
plUnifiedTime dstStart = plUnifiedTime ( ) ;
dstStart . SetGMTime ( utime . GetYear ( ) , 4 , 1 , 2 , 0 , 0 ) ;
dstStart . SetGMTime ( utime . GetYear ( ) , 3 , 8 , 2 , 0 , 0 ) ;
// find first Sunday after 4/1 (first sunday of April )
// find first Sunday after (including) 3/8 (second Sunday of March )
UInt32 days_to_go = 7 - dstStart . GetDayOfWeek ( ) ;
UInt32 days_to_go = 7 - dstStart . GetDayOfWeek ( ) ;
if ( days_to_go = = 7 )
if ( days_to_go = = 7 )
days_to_go = 0 ;
days_to_go = 0 ;
UInt32 dstStartSecs = dstStart . GetSecs ( ) + days_to_go * kOneDay ;
UInt32 dstStartSecs = dstStart . GetSecs ( ) + days_to_go * kOneDay ;
plUnifiedTime dstEnd = plUnifiedTime ( ) ;
plUnifiedTime dstEnd = plUnifiedTime ( ) ;
dstEnd . SetGMTime ( utime . GetYear ( ) , 10 , 25 , 1 , 0 , 0 ) ;
dstEnd . SetGMTime ( utime . GetYear ( ) , 11 , 1 , 1 , 0 , 0 ) ;
// find first sunday after 10/25 (last sunday of Oct. )
// find first sunday after (including) 11/1 (first Sunday of November )
days_to_go = 7 - dstEnd . GetDayOfWeek ( ) ;
days_to_go = 7 - dstEnd . GetDayOfWeek ( ) ;
if ( days_to_go = = 7 )
if ( days_to_go = = 7 )
days_to_go = 0 ;
days_to_go = 0 ;
UInt32 dstEndSecs = dstEnd . GetSecs ( ) + days_to_go * kOneDay ;
UInt32 dstEndSecs = dstEnd . GetSecs ( ) + days_to_go * kOneDay ;
if ( dtime > dstStartSecs & & dtime < dstEndSecs )
if ( dtime > = dstStartSecs & & dtime < dstEndSecs )
// add hour for daylight savings time
// add hour for daylight savings time
dtime + = kOneHour ;
dtime + = kOneHour ;
}
}