asd( ) { static sTime[ 30 ], sYear[ 7 ], sMonth[ 5 ], sDay[ 5 ], sHour[ 5 ], sMin[ 5 ], iYear, iMonth, iDay, iHour, iMin; get_time( "%Y %m %d %H %M", sTime, charsmax( sTime ) ); parse( sTime, sYear, charsmax( sYear ), sMonth, charsmax( sMonth ), sDay, charsmax( sDay ), sHour, charsmax( sHour ), sMin, charsmax( sMin ) ); iYear = str_to_num( sYear ); iMonth = str_to_num( sMonth ); iDay = str_to_num( sDay ); iHour = str_to_num( sHour ) + 2; iMin = str_to_num( sMin ); if ( iHour > 24 ) { ++iDay; iHour -= 24; if ( iDay > GetDaysInMonth( iMonth, iYear ) ) { iDay -= GetDaysInMonth( iMonth, iYear ); ++iMonth; if ( iMonth > 12 ) { ++iYear; iMonth -= 12; } } } formatex( sTime, charsmax( sTime ), "%d.%02d.%02d. %02d-%02d", iYear, iMonth, iDay, iHour, iMin ); } stock GetDaysInMonth( iMonth, iYear ) { switch( iMonth ) { case 1, 3, 5, 7, 8, 10, 12: return 31; case 2: return ( ( iYear % 4 ) == 0 ) ? 29 : 28; } return 30; }
|