My server. It return time :
"2016-01-24T16:00:00.000Z"
I want
1 : convert to String.
2 : I want it show " time ago " when load it from server.
Please. Help me!
This method divides the difference of current time and the given time by the TimeGranularity value in milliseconds. Consequently, we can roughly calculate the amount of time that has passed since the given time in the specified time granularity. We used the getCurrentTime() method in order to get the current time.
I see mainly three ways:
a) built-in options using SimpleDateFormat
and DateUtils
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); try { long time = sdf.parse("2016-01-24T16:00:00.000Z").getTime(); long now = System.currentTimeMillis(); CharSequence ago = DateUtils.getRelativeTimeSpanString(time, now, DateUtils.MINUTE_IN_MILLIS); } catch (ParseException e) { e.printStackTrace(); }
b) external library ocpsoft/PrettyTime (based on java.util.Date
)
Here you have to use SimpleDateFormat
, too, to produce the time
-result as interpretation of "2016-01-24T16:00:00.000Z".
import below lib in your app
implementation 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
PrettyTime prettyTime = new PrettyTime(Locale.getDefault()); String ago = prettyTime.format(new Date(time));
c) using my library Time4A (heavyweight but with best i18n-support)
Moment moment = Iso8601Format.EXTENDED_DATE_TIME_OFFSET.parse("2016-01-24T16:00:00.000Z"); String ago = PrettyTime.of(Locale.getDefault()).printRelativeInStdTimezone(moment);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With