Thursday, March 5, 2015

Convert date in hours ago or days ago in android

When you see a post it always shows time posted in hours ago or days ago. If you are also kooing to implement the same functionality using Android than use the below method that convert date or time in " hours or days".

//firstly find out difference between current time and other time
 long diff = currentdate.getTime() - temp_date.getTime();




        public final static long ONE_SECOND = 1000;
        public final static long SECONDS = 60;

        public final static long ONE_MINUTE = ONE_SECOND * 60;
        public final static long MINUTES = 60;

        public final static long ONE_HOUR = ONE_MINUTE * 60;
        public final static long HOURS = 24;

        public final static long ONE_DAY = ONE_HOUR * 24;
        public final static long MONTHS = ONE_DAY * 30;
 
        public static String millisToLongDHMS(long duration) {
     
                       StringBuffer res = new StringBuffer();
          long temp = 0;
          if (duration >= ONE_SECOND) {
         
            temp = duration / MONTHS;
             if (temp > 0) {
               duration -= temp * MONTHS;
               res.append(temp).append(" month").append(temp > 1 ? "s" : "")
                  .append(duration >= ONE_MINUTE ? ", " : "");
             }
         
         
            temp = duration / ONE_DAY;
            if (temp > 0) {
              duration -= temp * ONE_DAY;
              res.append(temp).append(" day").append(temp > 1 ? "s" : "")
                 .append(duration >= ONE_MINUTE ? ", " : "");
            }

            temp = duration / ONE_HOUR;
            if (temp > 0) {
              duration -= temp * ONE_HOUR;
              res.append(temp).append(" hour").append(temp > 1 ? "s" : "")
                 .append(duration >= ONE_MINUTE ? ", " : "");
            }

            temp = duration / ONE_MINUTE;
            if (temp > 0) {
              duration -= temp * ONE_MINUTE;
              res.append(temp).append(" minute").append(temp > 1 ? "s" : "");
            }

            if (!res.toString().equals("") && duration >= ONE_SECOND) {
              res.append(" and ");
            }

            temp = duration / ONE_SECOND;
            if (temp > 0) {
              res.append(temp).append(" second").append(temp > 1 ? "s" : "");
            }
            return res.toString();
          } else {
            return "0 second";
          }
        }

0 comments:

Post a Comment

Don't lose faith when you see others receive answers to their prayers

An elephant and a dog became pregnant at same time. Three months down the line the dog gave birth to six puppies. Six months later the dog...

 

G-Expo Template by Ipietoon Cute Blog Design