Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <?php namespace Cron; use DateTime; /** * Month field. Allows: * , / - */ class MonthField extends AbstractField { public function isSatisfiedBy(DateTime $date , $value ) { // Convert text month values to integers $value = str_ireplace ( array ( 'JAN' , 'FEB' , 'MAR' , 'APR' , 'MAY' , 'JUN' , 'JUL' , 'AUG' , 'SEP' , 'OCT' , 'NOV' , 'DEC' ), range(1, 12), $value ); return $this ->isSatisfied( $date ->format( 'm' ), $value ); } public function increment(DateTime $date , $invert = false) { if ( $invert ) { $date ->modify( 'last day of previous month' ); $date ->setTime(23, 59); } else { $date ->modify( 'first day of next month' ); $date ->setTime(0, 0); } return $this ; } public function validate( $value ) { return (bool) preg_match( '/^[\*,\/\-0-9A-Z]+$/' , $value ); } } |