isSatisfied(string $dateValue, string $value) : boolean
Check to see if a field is satisfied by a value
Date value to check
Value to test
Day of month field. Allows: * , / - ? L W
'L' stands for "last" and specifies the last day of the month.
The 'W' character is used to specify the weekday (Monday-Friday) nearest the given day. As an example, if you were to specify "15W" as the value for the day-of-month field, the meaning is: "the nearest weekday to the 15th of the month". So if the 15th is a Saturday, the trigger will fire on Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. However if you specify "1W" as the value for day-of-month, and the 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not 'jump' over the boundary of a month's days. The 'W' character can only be specified when the day-of-month is a single day, not a range or list of days.
validate(string $value) : boolean
Validates that the value is valid for the Day of the Month field Days of the month can contain values of 1-31, *, L, or ? by default. This can be augmented with lists via a ',', ranges via a '-', or with a '[0-9]W' to specify the closest weekday.
getNearestWeekday(integer $currentYear, integer $currentMonth, integer $targetDay) : \DateTime
Get the nearest day of the week for a given day in a month
Target day of the month
Returns the nearest date