timespan in c#

timespan in c#
In this article [Show more]

    TimeSpan in C#

    TimeSpan in C# is a structure used to represent time intervals. It provides a way to manage durations of time, measure time spans, or manipulate dates by adding or subtracting time intervals. This article explores the functionalities of TimeSpan, including creation, formatting, and conversions to and from other data types.

    What is TimeSpan in C#

    TimeSpan represents a time interval as a number of ticks, where one tick is equal to 100 nanoseconds. It can express durations in days, hours, minutes, seconds, and milliseconds, and it is particularly useful for handling time-related operations without managing dates.

    TimeSpan in C# Example

    Creating and using a TimeSpan object is straightforward. Here's an example of initializing a TimeSpan object:

     

    TimeSpan duration = new TimeSpan(1, 12, 30, 45); // 1 day, 12 hours, 30 minutes, 45 seconds
    Console.WriteLine(duration);
    

    TimeSpan in C# Format

    Formatting a TimeSpan object for display can be done using standard or custom format strings:

     

    TimeSpan time = new TimeSpan(15, 42, 10);
    string formatted = time.ToString(@"hh\:mm\:ss");
    Console.WriteLine(formatted); // Outputs "15:42:10"
    

    How to Assign Value to TimeSpan in C#

    You can assign values to a TimeSpan using its constructor or by static methods that create a TimeSpan:

     

    TimeSpan fromHours = TimeSpan.FromHours(24);
    Console.WriteLine(fromHours); // Outputs "1.00:00:00"
    

    TimeSpan to DateTime

    To convert a TimeSpan to a DateTime, you add the TimeSpan to a DateTime object, effectively setting the time part:

     

    DateTime date = new DateTime(2020, 1, 1);
    TimeSpan time = new TimeSpan(12, 30, 0);
    DateTime dateTime = date + time;
    Console.WriteLine(dateTime); // Outputs "2020-01-01 12:30:00"
    

    C# TimeSpan Milliseconds

    Accessing the millisecond component of a TimeSpan:

     

    TimeSpan interval = TimeSpan.FromMilliseconds(1500);
    Console.WriteLine(interval.Milliseconds); // Outputs "500"
    Console.WriteLine(interval.TotalMilliseconds); // Outputs "1500"
    

    String to TimeSpan

    Converting a string to a TimeSpan can be achieved using TimeSpan.Parse or TimeSpan.TryParse:

     

    string timeString = "12:30:15";
    TimeSpan parsedTime = TimeSpan.Parse(timeString);
    Console.WriteLine(parsedTime); // Outputs "12:30:15"
    

    C# TimeSpan From Seconds

    Creating a TimeSpan from seconds:

     

    TimeSpan fromSeconds = TimeSpan.FromSeconds(3600);
    Console.WriteLine(fromSeconds); // Outputs "01:00:00"
    

    TimeSpan in C# Format (Duplicate)

    Reiterating on formatting, TimeSpan can also handle more complex patterns:

     

    TimeSpan complexTime = new TimeSpan(1, 2, 3, 4, 567);
    string complexFormat = complexTime.ToString(@"dd\.hh\:mm\:ss\.fff");
    Console.WriteLine(complexFormat); // Outputs "01.02:03:04.567"
    

    TimeSpan to DateTime C# (Duplicate)

    Combining a DateTime and TimeSpan:

     

    DateTime start = new DateTime(2021, 1, 1);
    TimeSpan addition = new TimeSpan(25, 0, 0, 0); // 25 days
    DateTime result = start + addition;
    Console.WriteLine(result); // Outputs "2021-01-26 00:00:00"
    

    TimeSpan is essential for operations that require precise control over periods or durations of time, allowing for straightforward temporal calculations without the complexities of date management.

    Author Information
    • Author: Ehsan Babaei

    Send Comment



    Comments