package de.stephanlindauer.criticalmaps.utils; import android.content.Context; import java.util.Date; import de.stephanlindauer.criticalmaps.R; public class TimeToWordStringConverter { private static final int SECOND_MILLIS = 1000; private static final int MINUTE_MILLIS = 60 * SECOND_MILLIS; private static final int HOUR_MILLIS = 60 * MINUTE_MILLIS; private static final int DAY_MILLIS = 24 * HOUR_MILLIS; public static String getTimeAgo(Date date, Context context) { long past = date.getTime(); long now = new Date().getTime(); final long diff = now - past; if (diff < MINUTE_MILLIS) { return context.getString(R.string.timetoword_justnow); } else if (diff < 2 * MINUTE_MILLIS) { return context.getString(R.string.timetoword_aminuteago); } else if (diff < 50 * MINUTE_MILLIS) { return String.format(context.getString(R.string.timetoword_minutesago), diff / MINUTE_MILLIS); } else if (diff < 90 * MINUTE_MILLIS) { return context.getString(R.string.timetoword_anhourago); } else if (diff < 24 * HOUR_MILLIS) { return String.format(context.getString(R.string.timetoword_hoursago), diff / HOUR_MILLIS); } else if (diff < 48 * HOUR_MILLIS) { return context.getString(R.string.timetoword_yesterday); } else { return String.format(context.getString(R.string.timetoword_daysago), diff / DAY_MILLIS); } } }