title: Use String.Format on a TimeSpan to output full seconds without milliseconds
body: <p>I want to display the elapsed time between two dates in a string.</p>
  
  <p>Let's say I have the following code:</p>
  
  <pre><code>DateTime date1 = DateTime.Now();
  System.Threading.Thread.Sleep(2500);
  DateTime date2 = DateTime.Now();
  
  TimeSpan elapsed = date2.substract(date1);
  Console.WriteLine("&gt; {0:hh:mm:ss}", elapsed);
  </code></pre>
  
  <p>What I expect:</p>
  
  <pre><code>&gt; 00:00:03
  </code></pre>
  
  <p>What I get: </p>
  
  <pre><code>&gt; 00:00:02.5002500
  </code></pre>
  
  <p>Is there a way to use the String.Format function to only return full seconds?<br>
  I also tried to remove the decimal places with:</p>
  
  <pre><code>elapsed = elapsed.Substract(TimeSpan.FromMiliseconds((double)Timespan.Miliseconds);
  </code></pre>
  
  <p>But that doesn't work either since elapsed.Miliseconds returns 500 as an Integer.</p>