optimize hide_past (check first, invoke DateTime later)
Add hide_past test