This class can format dates according to a format string.
It takes a time stamp value and formats it according to a given format string specification that defines which date and time elements will appear in the string in different format variants.
It allows formatting of time ranges ("2 days ago", "after 1 week"), as well as traditional date/time strings ("10/01/2011", "3:50 AM"). Shortened output is also supported ("2d ago", "after 1w").
The formatted dates are returned encoded using UTF-8 in different idioms and languages.