in reply to add to localtime?

If I were doing it, I'd probably use Date::Calc. But if all you want is to simplify what you are using, then perhaps:
my $saleend = localtime() + ($in{saleend} eq "always" ? 31536000 : ($in{saleend}*8640));