Usando il time zone la cosa è automatica. Per il resto sintatticamente in PHP non saprei, ma la cosa dovrebbe essere abbastanza semplice per un programmatore medio: controlli se si tratta di una data oltre l’ultima domenica di ottobre, e questo lo ottieni più o meno facilmente in base al linguaggio che usi. In bocca al lupo.
p.s. Ricorda che il client che riceve l’invito al contrario di quanto fai sul server potrebbe comunque tenere in considerazione il time zone e quindi in alcuni casi potresti trovare orari sbagliati.