Eu acredito (eu nunca usei isso, e achei através da página de manual do iptables) --timestart e --timestop irão fazer isso.
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -m tcp -p tcp --source 1.2.3.4 --dport 3306 --timestart 13:00 --timestop 14:00 -j ACCEPT
Permitiria entre 1 e 2 da tarde.
This matches if the packet arrival time/date is within a given range. All options are facultative.
--timestart value
Match only if it is after 'value' (Inclusive, format: HH:MM ; default 00:00).
--timestop value
Match only if it is before 'value' (Inclusive, format: HH:MM ; default 23:59).