TimeSpan.FromDays() Method in C#

The TimeSpan.FromDays() method in C# is used to create a TimeSpan object that represents a specified number of days. This static method is particularly useful when you need to work with time intervals measured in days and want to convert them to a TimeSpan for calculations or comparisons.

Syntax

Following is the syntax for the TimeSpan.FromDays() method −

public static TimeSpan FromDays(double value);

Parameters

value: A double-precision floating-point number representing the number of days. The value can be positive, negative, or zero, and is accurate to the nearest millisecond.

Return Value

Returns a TimeSpan object that represents the specified number of days.

Using FromDays() with Whole Numbers

The following example demonstrates creating TimeSpan objects using whole day values −

using System;

public class Demo {
   public static void Main() {
      TimeSpan span1 = TimeSpan.FromDays(7);
      TimeSpan span2 = TimeSpan.FromDays(30);
      TimeSpan span3 = TimeSpan.FromDays(365);
      
      Console.WriteLine("7 days = " + span1);
      Console.WriteLine("30 days = " + span2);
      Console.WriteLine("365 days = " + span3);
      Console.WriteLine("Total hours in a week: " + span1.TotalHours);
   }
}

The output of the above code is −

7 days = 7.00:00:00
30 days = 30.00:00:00
365 days = 365.00:00:00
Total hours in a week: 168

Using FromDays() with Fractional Values

The method also accepts fractional day values, allowing precise time calculations −

using System;

public class Demo {
   public static void Main() {
      TimeSpan span1 = TimeSpan.FromDays(1.5);
      TimeSpan span2 = TimeSpan.FromDays(0.25);
      TimeSpan span3 = TimeSpan.FromDays(43.999999);
      
      Console.WriteLine("1.5 days = " + span1);
      Console.WriteLine("0.25 days (6 hours) = " + span2);
      Console.WriteLine("43.999999 days = " + span3);
      Console.WriteLine("Minutes in 0.25 days: " + span2.TotalMinutes);
   }
}

The output of the above code is −

1.5 days = 1.12:00:00
0.25 days (6 hours) = 06:00:00
43.999999 days = 43.23:59:59.9140000
Minutes in 0.25 days: 360

Using FromDays() with Negative Values

Negative values represent time intervals in the past or backward direction −

using System;

public class Demo {
   public static void Main() {
      TimeSpan negativeDays = TimeSpan.FromDays(-5);
      TimeSpan positiveDays = TimeSpan.FromDays(5);
      TimeSpan fractionalDays = TimeSpan.FromDays(-2.5);
      
      Console.WriteLine("Negative 5 days = " + negativeDays);
      Console.WriteLine("Positive 5 days = " + positiveDays);
      Console.WriteLine("Negative 2.5 days = " + fractionalDays);
      
      Console.WriteLine("Comparison result: " + TimeSpan.Compare(negativeDays, positiveDays));
   }
}

The output of the above code is −

Negative 5 days = -5.00:00:00
Positive 5 days = 5.00:00:00
Negative 2.5 days = -2.12:00:00
Comparison result: -1

Common Use Cases

  • Date calculations: Adding or subtracting days from dates

  • Scheduling systems: Creating time intervals for recurring events

  • Performance monitoring: Measuring elapsed time in days

  • Data retention policies: Defining periods for data storage

Conclusion

The TimeSpan.FromDays() method provides a convenient way to create TimeSpan objects from day values. It accepts both whole and fractional numbers, including negative values, making it versatile for various time-related calculations and comparisons in C# applications.

Updated on: 2026-03-17T07:04:36+05:30

759 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements