Advertisement
rachmadi

Utility (getPostTime)

Apr 13th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1. import android.util.Log;
  2.  
  3. import java.text.DateFormat;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.Locale;
  8. import java.util.TimeZone;
  9.  
  10. /**
  11.  * Created by rachmadi on 4/13/17.
  12.  */
  13.  
  14. public class Utility {
  15.  
  16.     String TAG = "Utility";
  17.  
  18.     public String getPostTime(long timeStamp){
  19.  
  20.         String postTime = "";
  21.         Date dLastDate = null;
  22.  
  23.         TimeZone timezone = TimeZone.getDefault();
  24.         DateFormat objFormatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  25.         objFormatter.setTimeZone(timezone);
  26.  
  27.         Calendar objCalendar = Calendar.getInstance(timezone);
  28.         objCalendar.setTimeInMillis(timeStamp);
  29.         String result = objFormatter.format(objCalendar.getTime());
  30.         objCalendar.clear();
  31.  
  32.         String datePost = result;
  33.  
  34.         SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  35.         String dateCurrent = dateFormat.format(new Date());
  36.  
  37.         //HH converts hour in 24 hours format (0-23), day calculation
  38.         SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  39.  
  40.         Date d1 = null;
  41.         Date d2 = null;
  42.  
  43.         try {
  44.             d1 = format.parse(datePost);
  45.             d2 = format.parse(dateCurrent);
  46.  
  47.             //in milliseconds
  48.             long diff = d2.getTime() - d1.getTime();
  49.  
  50.             long diffSeconds = diff / 1000 % 60;
  51.             long diffMinutes = diff / (60 * 1000) % 60;
  52.             long diffHours = diff / (60 * 60 * 1000) % 24;
  53.             long diffDays = diff / (24 * 60 * 60 * 1000);
  54.  
  55.             String firstDate = datePost.substring(0, 10);
  56.             String secondDate = dateCurrent.substring(0, 10);
  57.  
  58.             if (!firstDate.equals(secondDate)) {
  59.                 SimpleDateFormat lastDateDf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  60.                 dLastDate = lastDateDf.parse(result);
  61.                 SimpleDateFormat dLastDateDf = new SimpleDateFormat("dd MMM yy, HH:mm");
  62.                 postTime = dLastDateDf.format(dLastDate);
  63.             }
  64.             else if (diffDays < 1) {
  65.                 if (diffHours > 0){
  66.                     postTime = String.valueOf(diffHours) + " jam lalu";
  67.                 } else if (diffMinutes > 0){
  68.                     postTime = String.valueOf(diffMinutes) + " menit lalu";
  69.                 } else if (diffSeconds > 0){
  70.                     postTime = String.valueOf(diffSeconds) + " detik lalu";
  71.                 } else if (diffDays == 0) {
  72.                     postTime = "1 detik lalu";
  73.                 }
  74.             }
  75.  
  76.         } catch (Exception e) {
  77.             e.printStackTrace();
  78.             Log.d(TAG, "error: " + e.toString());
  79.         }
  80.  
  81.         return postTime;
  82.     }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement