NaturalDateFormat

Additional

Language
Java
Version
N/A
Created
Jan 30, 2016
Updated
Nov 1, 2016
Owner
ZieIony
Contributors
ZieIony
Quentin Klein (quentin7b)
David Kunzler (dkunzler)
Louis CAD (LouisCAD)
Alexey (ndczz)
Ydcool
victorraft
dvdmunckhof
8
Activity
Badge
Generate
Download
Source code
APK file

Advertising

NaturalDateFormat

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.

Translations

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.