DateTime.TimeOfDay Property

Definition

Gets the time of day for this instance.

public:
 property TimeSpan TimeOfDay { TimeSpan get(); };
public TimeSpan TimeOfDay { get; }
member this.TimeOfDay : TimeSpan
Public ReadOnly Property TimeOfDay As TimeSpan

Property Value

A time interval that represents the fraction of the day that has elapsed since midnight.

Examples

The following example displays the value of the TimeOfDay property for an array of DateTime values. It also contrasts the return value with the string returned by the "t" standard format string in a composite formatting operation.

using System;

public class Example
{
   public static void Main()
   {
      DateTime[] dates = { DateTime.Now,
                           new DateTime(2013, 9, 14, 9, 28, 0),
                           new DateTime(2011, 5, 28, 10, 35, 0),
                           new DateTime(1979, 12, 25, 14, 30, 0) };
      foreach (var date in dates) {
         Console.WriteLine("Day: {0:d} Time: {1:g}", date.Date, date.TimeOfDay);
         Console.WriteLine("Day: {0:d} Time: {0:t}\n", date);
      }
   }
}
// The example displays output like the following:
//    Day: 7/25/2012 Time: 10:08:12.9713744
//    Day: 7/25/2012 Time: 10:08 AM
//
//    Day: 9/14/2013 Time: 9:28:00
//    Day: 9/14/2013 Time: 9:28 AM
//
//    Day: 5/28/2011 Time: 10:35:00
//    Day: 5/28/2011 Time: 10:35 AM
//
//    Day: 12/25/1979 Time: 14:30:00
//    Day: 12/25/1979 Time: 2:30 PM
open System

let dates = 
   [ DateTime.Now
     DateTime(2013, 9, 14, 9, 28, 0)
     DateTime(2011, 5, 28, 10, 35, 0)
     DateTime(1979, 12, 25, 14, 30, 0) ]

for date in dates do
   printfn $"Day: {date.Date:d} Time: {date.TimeOfDay:g}"
   printfn $"Day: {date:d} Time: {date:t}\n"

// The example displays output like the following:
//    Day: 7/25/2012 Time: 10:08:12.9713744
//    Day: 7/25/2012 Time: 10:08 AM
//
//    Day: 9/14/2013 Time: 9:28:00
//    Day: 9/14/2013 Time: 9:28 AM
//
//    Day: 5/28/2011 Time: 10:35:00
//    Day: 5/28/2011 Time: 10:35 AM
//
//    Day: 12/25/1979 Time: 14:30:00
//    Day: 12/25/1979 Time: 2:30 PM
Module Example
   Public Sub Main()
      Dim dates() As Date = { Date.Now, 
                              New DateTime(2013, 9, 14, 9, 28, 0),
                              New DateTime(2011, 5, 28, 10, 35, 0),
                              New DateTime(1979, 12, 25, 14, 30, 0) }
      For Each dat In dates
         Console.WriteLine("Day: {0:d} Time: {1:g}", dat.Date, dat.TimeOfDay)
         Console.WriteLine("Day: {0:d} Time: {0:t}", dat)
         Console.WriteLine()
      Next                              
   End Sub
End Module
' The example displays output like the following:
'    Day: 7/25/2012 Time: 10:08:12.9713744
'    Day: 7/25/2012 Time: 10:08 AM
'    
'    Day: 9/14/2013 Time: 9:28:00
'    Day: 9/14/2013 Time: 9:28 AM
'    
'    Day: 5/28/2011 Time: 10:35:00
'    Day: 5/28/2011 Time: 10:35 AM
'    
'    Day: 12/25/1979 Time: 14:30:00
'    Day: 12/25/1979 Time: 2:30 PM

Remarks

Unlike the Date property. which returns a DateTime value that represents a date without its time component, the TimeOfDay property returns a TimeSpan value that represents a DateTime value's time component.

If you want to display the time of day or retrieve the string representation of the time of day of a DateTime value, you can instead call an overload of the ToString method that has a format parameter or use the composite formatting feature with the "t" or "T" standard format string.

Applies to

See also