A library to format dates as described in Material Design guidelines (https://www.google.com/design/spec/patterns/data-formats.html#data-formats-date-time).
RelativeDateFormat formats date as relative (4 months ago, today, next year), AbsoluteDateFormat formats date as absolute (Monday, 4:32 PM, June 10). These classes use natural language, can use abbreviations, 12/24 hours clock, skip time/year/weekday if not needed.
This library internally uses Joda Time. If you're looking for something really compact, you may prefer to use DateUtils.
How to install
Follow instructions on https://jitpack.io/#ZieIony/NaturalDateFormat
How to use
RelativeDateFormat relFormat = new RelativeDateFormat(context,NaturalDateFormat.DATE); AbsoluteDateFormat absFormat = new AbsoluteDateFormat(context,NaturalDateFormat.DATE | NaturalDateFormat.HOURS | NaturalDateFormat.MINUTES); relFormat.format(new Date().getTime()); absFormat.format(new Date().getTime());
The second parameter can be a combination of flags from NaturalDateFormat class. See the sample app.
I know only english and polish. If you wish to help me with translations, feel free to make a pull request with a translation.
There are issues with certain languages on certain platforms. For example polish doesn't work well on Samsung with API 10. It's an issue with Android internals and there's not much I can do with that.