Time::ParseDate
can be used to parse many date formats into unix timestamps.
If your format is not directly it would not be hard
to do a little string manipulation to convert YYYYMMDD to one
of the supported formats (like YYYY/MM/DD)
Then you can use
Time::CTime
to format the timestamp anyway you want.
If the dates you are interested are out of the valid
range for UNIX timestamps (1970-2034) then
Date::Manip
should fit the bill with similar parsing and formatting
features.