С System.currentTimeMillis (); Вы получите миллисекунды, которые они прошли с 1 января 1970 года.
Так что же мы можем достичь с помощью еще 2 пользовательских функций в вашем адаптере.
Первый из них принимает дату и время и переводит их в миллисекунды.
private long millisFromDateAndTime(String date, String time){
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMMM-yyyy");
SimpleDateFormat timeFormat = new SimpleDateFormat("kk:mm:ss");
try
{
Date mDate = dateFormat.parse(date);
Date mTime = timeFormat.parse(time);
long dateInMilliseconds = mDate.getTime();
long timeInMilliseconds = mTime.getTime();
return timeInMilliseconds + dateInMilliseconds;
}
catch (ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
Вторая функция берет эти миллисекунды с момента создания сообщения и возвращает строку, содержащую, сколько времени назад это было.
private String timeAgo(long startTime){
long currentTime = System.currentTimeMillis();
long timeDifference = (currentTime - startTime) / 1000;
Log.d("!!!!DIFF!!!!!!", String.valueOf(timeDifference));
long timeUnit;
if(timeDifference < 60){
timeUnit = DateUtils.SECOND_IN_MILLIS;
} else if(timeDifference < 3600){
timeUnit = DateUtils.MINUTE_IN_MILLIS;
} else if (timeDifference < 86400){
timeUnit = DateUtils.HOUR_IN_MILLIS;
}else if (timeDifference < 31536000){
timeUnit = DateUtils.DAY_IN_MILLIS;
} else {
timeUnit = DateUtils.YEAR_IN_MILLIS;
}
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(startTime, currentTime,
timeUnit, DateUtils.FORMAT_ABBREV_RELATIVE);
return String.valueOf(timeAgo);
}
Вы можете поместить эти две функции внизу вашего адаптера.
Наконец, вы будете использовать эту функцию в onBindViewholder.
protected void onBindViewHolder(@NonNull UserViewHolder holder, int position, @NonNull final question model)
{
final String PostKey=getRef(position).getKey();//get key by this line
holder.userfullname.setText(model.getFirstname()+" "+model.getLastname());
//Convert your Date and Time to milliseconds
long startTime = millisFromDateAndTime(model.getDate(), model.getTime);
//Set the timeAgo text in the Textview of your choice
holder.time.setText(timeAgo(startTime));
holder.description.setText(model.getDescription());
}
Удачи, скажите, сработало ли это.