Difference between revisions of "Input number of seconds, get a string back that shows days, hours, minutes, seconds"

From Second Life Wiki
Jump to: navigation, search
m (increasing readability, adding syntax highlighting)
m (Corrections by Traven Sachs to Display Correct Output allowing for 0 seconds or more than 1 day 19-Feb-2011)
Line 5: Line 5:
 
   *   
 
   *   
 
   *  Input number of seconds, function will return a string with Days, Hours, Minutes, Seconds
 
   *  Input number of seconds, function will return a string with Days, Hours, Minutes, Seconds
 +
  *  Corrections by Traven Sachs to Display Correct Output allowing for 0 seconds or more than 1 day 19-Feb-2011
 
   */
 
   */
  
Line 12: Line 13:
 
     integer hours;
 
     integer hours;
 
     integer minutes;
 
     integer minutes;
   
+
 
     if (secs>=86400){
 
     if (secs>=86400){
 
         days=llFloor(secs/86400);
 
         days=llFloor(secs/86400);
 
         secs=secs%86400;
 
         secs=secs%86400;
         timeStr=(string)days+" day";
+
         timeStr+=(string)days+" day";
         if (days!=1) {timeStr="s";}
+
         if (days>1) {timeStr+="s";}
 
         if(secs>0) {timeStr+=", ";}
 
         if(secs>0) {timeStr+=", ";}
 
     }
 
     }
Line 32: Line 33:
 
         timeStr+=(string)minutes+" minute";
 
         timeStr+=(string)minutes+" minute";
 
         if(minutes!=1){timeStr+="s";}
 
         if(minutes!=1){timeStr+="s";}
        if(secs>0){timeStr+=", ";}
 
 
     }
 
     }
 +
    if (secs>0){
 +
    timeStr+=", ";
 
     timeStr+=(string)secs+" second";
 
     timeStr+=(string)secs+" second";
 
     if(secs!=1){timeStr+="s";}
 
     if(secs!=1){timeStr+="s";}
 +
    }
 
     return timeStr;
 
     return timeStr;
 
}</lsl>
 
}</lsl>

Revision as of 11:59, 19 February 2011

<lsl> /*

 *  Submitted Opensource under GPL 3.0
 *  2010 Fire Centaur
 *  Description: 
 *  
 *  Input number of seconds, function will return a string with Days, Hours, Minutes, Seconds
 *  Corrections by Traven Sachs to Display Correct Output allowing for 0 seconds or more than 1 day 19-Feb-2011
 */

string getTime(integer secs){

   string timeStr;
   integer days;
   integer hours;
   integer minutes;

   if (secs>=86400){
       days=llFloor(secs/86400);
       secs=secs%86400;
       timeStr+=(string)days+" day";
       if (days>1) {timeStr+="s";}
       if(secs>0) {timeStr+=", ";}
   }
   if(secs>=3600){
       hours=llFloor(secs/3600);
       secs=secs%3600;
       timeStr+=(string)hours+" hour";
       if(hours!=1){timeStr+="s";}
       if(secs>0){timeStr+=", ";}
   }
   if(secs>=60){
       minutes=llFloor(secs/60);
       secs=secs%60;
       timeStr+=(string)minutes+" minute";
       if(minutes!=1){timeStr+="s";}
   }
   if (secs>0){
   timeStr+=", ";
   timeStr+=(string)secs+" second";
   if(secs!=1){timeStr+="s";}
   }
   return timeStr;

}</lsl>