cron 表达式怎么表示半点

cron 表达式可以更灵活的表示复杂情况的时间调度,比如:从早上九点到下午六点,每隔 15 分钟执行一次,0 0/15 9-18 * * ?。但是如果起止时间为半点,该怎么表示呢?比如:从早上九点半到下午五点半,每隔 15 分钟执行,又或者每天都执行,但是每月最后一天不执行或者每天都执行,但是每月第一天都不执行?这些情况用 cron 表达式该怎么进行设置呢?