andrew4582

TimeSpanExtentions

Sep 6th, 2010
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.89 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Core {
  7.  
  8.     public static class TimeSpanExtentions {
  9.         /// <summary>
  10.         /// Returns formated timespan value ie '2 days 1 hour 10 seconds
  11.         /// </summary>
  12.         public static string GetTimeSpanReadableText(this TimeSpan ts) {
  13.             string result = "";
  14.  
  15.             string day = " day";
  16.             string hour = " hour";
  17.             string minute = " minute";
  18.             string second = " second";
  19.  
  20.             if(ts.TotalDays > 1) {
  21.  
  22.                 if(ts.TotalDays > 2)
  23.                     day += "s";
  24.                 result = Math.Round(ts.TotalDays) + day;
  25.  
  26.                 if(ts.Hours > 0) {
  27.                     if(ts.Hours > 1)
  28.                         hour += "s";
  29.                     result += " " + Math.Abs(ts.Hours) + hour;
  30.                 }
  31.                 if(ts.Minutes > 0) {
  32.                     if(ts.Minutes > 1)
  33.                         minute += "s";
  34.                     result += " " + Math.Abs(ts.Minutes) + minute;
  35.                 }
  36.                 if(ts.Seconds > 0) {
  37.                     if(ts.Seconds > 1)
  38.                         second += "s";
  39.                     result += " " + Math.Abs(ts.Seconds) + second;
  40.                 }
  41.                 return result;
  42.             }
  43.             else {
  44.                 if(ts.TotalHours > 1) {
  45.                     if(ts.TotalHours > 2)
  46.                         hour += "s";
  47.  
  48.                     result = Math.Round(ts.TotalHours) + hour;
  49.  
  50.                     if(ts.Minutes > 0) {
  51.                         if(ts.Minutes > 1)
  52.                             minute += "s";
  53.                         result += " " + Math.Abs(ts.Minutes) + minute;
  54.                     }
  55.                     if(ts.Seconds > 0) {
  56.                         if(ts.Seconds > 1)
  57.                             second += "s";
  58.                         result += " " + Math.Abs(ts.Seconds) + second;
  59.                     }
  60.                     return result;
  61.                 }
  62.                 else {
  63.                     if(ts.TotalMinutes > 1) {
  64.                         if(ts.TotalMinutes > 2)
  65.                             minute += "s";
  66.                         result = Math.Round(ts.TotalMinutes) + minute;
  67.  
  68.                         if(ts.Seconds > 0) {
  69.                             if(ts.Seconds > 1)
  70.                                 second += "s";
  71.                             result += " " + ts.Seconds + second;
  72.                         }
  73.                         return result;
  74.                     }
  75.                 }
  76.             }
  77.  
  78.             if(ts.TotalSeconds > 0) {
  79.                 if(ts.TotalSeconds > 1)
  80.                     second += "s";
  81.                 result = Math.Round(ts.TotalSeconds) + second;
  82.  
  83.                 return result;
  84.             }
  85.  
  86.             return Math.Round(ts.TotalSeconds) + second;
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment