Advertisement
rachmadi

Utility Baru

Aug 16th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.16 KB | None | 0 0
  1. package info.rekayasa.donordarah.utility;
  2.  
  3. import android.content.Context;
  4. import android.icu.util.DateInterval;
  5. import android.net.ConnectivityManager;
  6. import android.net.NetworkInfo;
  7. import android.text.format.DateUtils;
  8. import android.util.Log;
  9.  
  10. import java.text.DateFormat;
  11. import java.text.ParseException;
  12. import java.text.SimpleDateFormat;
  13. import java.util.Calendar;
  14. import java.util.Date;
  15. import java.util.Locale;
  16. import java.util.TimeZone;
  17.  
  18. import static android.R.attr.format;
  19. import static com.google.android.gms.internal.zzs.TAG;
  20.  
  21. /**
  22.  * Created by rachmadi on 7/18/16.
  23.  */
  24.  
  25. public class Utility {
  26.  
  27.     String dateTime;
  28.     String TAG = "Utility";
  29.  
  30.     public Boolean isConnected(Context context) {
  31.         Boolean status = false;
  32. //        boolean haveConnectedWifi = false;
  33. //        boolean haveConnectedMobile = false;
  34.  
  35.         ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  36.         NetworkInfo[] netInfo = cm.getAllNetworkInfo();
  37.  
  38.         for (NetworkInfo ni : netInfo) {
  39.             if (ni.getTypeName().equalsIgnoreCase("WIFI"))
  40.                 if (ni.isConnected())
  41. //                    haveConnectedWifi = true;
  42.                     status = true;
  43.             if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
  44.                 if (ni.isConnected())
  45. //                    haveConnectedMobile = true;
  46.                     status = true;
  47.         }
  48. //        return haveConnectedWifi || haveConnectedMobile;
  49.         return status;
  50.     }
  51.  
  52.     public String getDuration(String dateTime){
  53.  
  54. //        DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  55. //        Date date = null;
  56. //        try {
  57. //            date = (Date)formatter.parse(dateTime);
  58. //        } catch (ParseException e) {
  59. //            e.printStackTrace();
  60. //        }
  61. //        System.out.println("try date: " +date);
  62. //
  63. //        Calendar cal = Calendar.getInstance();
  64. //        cal.setTime(date);
  65. //        String formatedDate = cal.get(Calendar.DATE) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" +
  66. //                cal.get(Calendar.YEAR) + " " + cal.get(Calendar.HOUR) + ":" + cal.get(Calendar.MINUTE) + ":"
  67. //                + cal.get(Calendar.SECOND);
  68. //        System.out.println("formatedDate : " + formatedDate);
  69.  
  70.         String datePost = dateTime;
  71.         String dateCurrent = getCurrentDateTime();
  72.         String dtime = "";
  73.  
  74.         //HH converts hour in 24 hours format (0-23), day calculation
  75.         SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  76.  
  77.         Date d1 = null;
  78.         Date d2 = null;
  79.  
  80.         try {
  81.             d1 = format.parse(datePost);
  82.             d2 = format.parse(dateCurrent);
  83.  
  84.             //in milliseconds
  85.             long diff = d2.getTime() - d1.getTime();
  86.  
  87.             long diffSeconds = diff / 1000 % 60;
  88.             long diffMinutes = diff / (60 * 1000) % 60;
  89.             long diffHours = diff / (60 * 60 * 1000) % 24;
  90.             long diffDays = diff / (24 * 60 * 60 * 1000);
  91.  
  92. //            System.out.print(diffDays + " days, ");
  93. //            System.out.print(diffHours + " hours, ");
  94. //            System.out.print(diffMinutes + " minutes, ");
  95. //            System.out.print(diffSeconds + " seconds.");
  96.  
  97.             if (diffDays > 1) {
  98.                 dtime = dateTime;
  99.             } else if (diffDays > 0){
  100.                 dtime = String.valueOf(diffDays) + " hari lalu";
  101.             } else if (diffHours > 0){
  102.                 dtime = String.valueOf(diffHours) + " jam lalu";
  103.             } else if (diffMinutes > 0){
  104.                 dtime = String.valueOf(diffMinutes) + " menit lalu";
  105.             } else if (diffSeconds > 0){
  106.                 dtime = String.valueOf(diffSeconds) + " detik lalu";
  107.             } else if (diffDays == 0) {
  108.                 dtime = "1 detik lalu";
  109.             }
  110.  
  111.         } catch (Exception e) {
  112.             e.printStackTrace();
  113.         }
  114. //        System.out.println("Resulted date: " + dtime);
  115.         return dtime;
  116.     }
  117.  
  118.     public String getCurrentDateTime(){
  119.        
  120.         SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  121. //        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  122.         dateTime = dateFormat.format(new Date());
  123.         return dateTime;
  124.     }
  125.  
  126.     public String getLastActiveTime(long timeStamp){
  127.         String prefix = "";
  128.         String lastActiveDate = "";
  129.         String lastDate = "";
  130.         Date dLastDate = null;
  131.  
  132.         TimeZone timezone = TimeZone.getDefault();
  133.         DateFormat objFormatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  134.         objFormatter.setTimeZone(timezone);
  135.  
  136.         Calendar objCalendar =
  137.                 Calendar.getInstance(timezone);
  138.         objCalendar.setTimeInMillis(timeStamp);
  139.         String result = objFormatter.format(objCalendar.getTime());
  140.         Log.d(TAG, "result: " + result);
  141.         objCalendar.clear();
  142.  
  143.         String datePost = result;
  144.         String dateCurrent = getCurrentDateTime();
  145.         String dtime = "";
  146.  
  147.         System.out.println("datePost dan dateCurrent: " + datePost + ", " + dateCurrent);
  148.  
  149.         //HH converts hour in 24 hours format (0-23), day calculation
  150.         SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  151.  
  152.         Date d1 = null;
  153.         Date d2 = null;
  154.  
  155.         try {
  156.             d1 = format.parse(datePost);
  157.             d2 = format.parse(dateCurrent);
  158.  
  159.             //in milliseconds
  160.             long diff = d2.getTime() - d1.getTime();
  161.  
  162.             long diffSeconds = diff / 1000 % 60;
  163.             long diffMinutes = diff / (60 * 1000) % 60;
  164.             long diffHours = diff / (60 * 60 * 1000) % 24;
  165.             long diffDays = diff / (24 * 60 * 60 * 1000);
  166.  
  167.             System.out.print(diffDays + " days, ");
  168.  
  169.             DateFormat formatter = new SimpleDateFormat ("DD MMM");
  170.            
  171.             String firstDate = datePost.substring(0, 10);
  172.             String secondDate = dateCurrent.substring(0, 10);
  173.             System.out.println("first & second: " + firstDate + ", " + secondDate);
  174.  
  175.             if (!firstDate.equals(secondDate)) {
  176.                 SimpleDateFormat lastDateDf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  177.                 dLastDate = lastDateDf.parse(result);
  178.                 SimpleDateFormat dLastDateDf = new SimpleDateFormat("dd MMM, HH:mm");
  179.                 lastActiveDate = dLastDateDf.format(dLastDate);
  180.                
  181.             } else if (diffDays < 1) {
  182.                 String lastActive = result.substring(11,16);
  183.                 prefix = "hari ini, ";
  184.                 lastActiveDate = prefix + lastActive;
  185.                 Log.d(TAG, "lastActiveTime: " + lastActive);
  186.             }
  187.  
  188.         } catch (Exception e) {
  189.             e.printStackTrace();
  190.             Log.d(TAG, "error: " + e.toString());
  191.         }
  192.  
  193.         return lastActiveDate;
  194.     }
  195.  
  196.     public String getPostTime(long timeStamp){
  197.         String prefix = "";
  198.         String lastActiveDate = "";
  199.         String lastDate = "";
  200.         Date dLastDate = null;
  201.  
  202.         TimeZone timezone = TimeZone.getDefault();
  203.         DateFormat objFormatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  204.         objFormatter.setTimeZone(timezone);
  205.  
  206.         Calendar objCalendar =
  207.                 Calendar.getInstance(timezone);
  208.         objCalendar.setTimeInMillis(timeStamp);
  209.         String result = objFormatter.format(objCalendar.getTime());
  210.         Log.d(TAG, "result: " + result);
  211.         objCalendar.clear();
  212.  
  213.         String datePost = result;
  214.         String dateCurrent = getCurrentDateTime();
  215.         String dtime = "";
  216.  
  217.         System.out.println("datePost dan dateCurrent: " + datePost + ", " + dateCurrent);
  218.  
  219.         //HH converts hour in 24 hours format (0-23), day calculation
  220.         SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  221.  
  222.         Date d1 = null;
  223.         Date d2 = null;
  224.  
  225.         try {
  226.             d1 = format.parse(datePost);
  227.             d2 = format.parse(dateCurrent);
  228.  
  229.             //in milliseconds
  230.             long diff = d2.getTime() - d1.getTime();
  231.  
  232.             long diffSeconds = diff / 1000 % 60;
  233.             long diffMinutes = diff / (60 * 1000) % 60;
  234.             long diffHours = diff / (60 * 60 * 1000) % 24;
  235.             long diffDays = diff / (24 * 60 * 60 * 1000);
  236.  
  237.             System.out.print(diffDays + " days, ");
  238.  
  239.             DateFormat formatter = new SimpleDateFormat ("DD MMM");
  240.  
  241.             String firstDate = datePost.substring(0, 10);
  242.             String secondDate = dateCurrent.substring(0, 10);
  243.             System.out.println("first & second: " + firstDate + ", " + secondDate);
  244.  
  245.             if (!firstDate.equals(secondDate)) {
  246.                 SimpleDateFormat lastDateDf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  247.                 dLastDate = lastDateDf.parse(result);
  248.                 SimpleDateFormat dLastDateDf = new SimpleDateFormat("dd MMM yy, HH:mm");
  249.                 lastActiveDate = dLastDateDf.format(dLastDate);
  250.                 Log.d(TAG, "lastActiveTime: " + lastActiveDate);
  251.             }
  252.             else if (diffDays < 1) {
  253.                 if (diffHours > 0){
  254.                     lastActiveDate = String.valueOf(diffHours) + " jam lalu";
  255.                 } else if (diffMinutes > 0){
  256.                     lastActiveDate = String.valueOf(diffMinutes) + " menit lalu";
  257.                 } else if (diffSeconds > 0){
  258.                     lastActiveDate = String.valueOf(diffSeconds) + " detik lalu";
  259.                 } else if (diffDays == 0) {
  260.                     lastActiveDate = "1 detik lalu";
  261.                 }
  262.             }
  263.  
  264.         } catch (Exception e) {
  265.             e.printStackTrace();
  266.             Log.d(TAG, "error: " + e.toString());
  267.         }
  268.  
  269.         return lastActiveDate;
  270.     }
  271.  
  272.     public String formatDate(String datetime){
  273.         Locale id = new Locale("en", "EN");
  274.         String pattern = "yyyy-MM-dd";
  275.         SimpleDateFormat sdf = new SimpleDateFormat(
  276.                 pattern, id);
  277.         Date myDate = null;
  278.         try {
  279.             myDate = sdf.parse(datetime);
  280.  
  281.         } catch (ParseException e) {
  282.             e.printStackTrace();
  283.         }
  284.  
  285. //        SimpleDateFormat tanggaldf = new SimpleDateFormat("EEEE, dd MMM yyyy", Locale.getDefault());
  286.         SimpleDateFormat tanggaldf = new SimpleDateFormat("EEEE, dd MMM yyyy");
  287.         String finalDate = tanggaldf.format(myDate);
  288.  
  289. //        System.out.println(finalDate);
  290.         return finalDate;
  291.     }
  292.  
  293.     public String getDate(long timeStamp){
  294.         TimeZone timezone = TimeZone.getDefault();
  295. //        DateFormat objFormatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.getDefault());
  296.         DateFormat objFormatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
  297.         objFormatter.setTimeZone(timezone);
  298.  
  299.         Calendar objCalendar =
  300.                 Calendar.getInstance(timezone);
  301.         objCalendar.setTimeInMillis(timeStamp);
  302.         String result = objFormatter.format(objCalendar.getTime());
  303.         objCalendar.clear();
  304. //        System.out.println("util result: " + result);
  305.  
  306.         return result;
  307.     }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement