timezone-aware expiration comparisons