timezone code better handles empty string