diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java b/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java index 1a148673c..4b4201b50 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java @@ -1,5 +1,6 @@ package de.danoeh.antennapod.core.util; +import android.content.Context; import android.util.Log; import org.apache.commons.lang3.StringUtils; @@ -7,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; @@ -141,4 +143,17 @@ public class DateUtils { format.setTimeZone(defaultTimezone); return format.format(date); } + + public static String formatAbbrev(final Context context, final Date date) { + GregorianCalendar cal = new GregorianCalendar(); + cal.add(GregorianCalendar.YEAR, -1); + // some padding, because no one really remembers what day of the month it is + cal.add(GregorianCalendar.DAY_OF_MONTH, 10); + boolean withinLastYear = date.after(cal.getTime()); + int format = android.text.format.DateUtils.FORMAT_ABBREV_ALL; + if(withinLastYear) { + format |= android.text.format.DateUtils.FORMAT_NO_YEAR; + } + return android.text.format.DateUtils.formatDateTime(context, date.getTime(), format); + } } |