Two dates during the year apart

I have two dates, how can I check if both dates exceed one year?

Short question! :-)

+3
source share
8 answers
if (Math.Abs((d1 - d2).TotalDays) < 365)

Edit: This should explain the faster years.

if ( d1 <= d2 && d1.AddYears(1) >= d2 || d2 < d1 && d2.AddYears(1) > d1)

Update:
I like @JDunkerley's better solution:

if (d1 < d2 ? d2 < d1.AddYears(1) : d1 < d2.AddYears(1)) 
+20
source

I will give you a small example:

DateTime startTime = DateTime.Now;

 DateTime endTime = DateTime.Now.AddSeconds( 75 );

 TimeSpan span = endTime.Subtract ( startTime );
 Console.WriteLine( "Time Difference (seconds): " + span.Seconds );
 Console.WriteLine( "Time Difference (minutes): " + span.Minutes );
 Console.WriteLine( "Time Difference (hours): " + span.Hours );
 Console.WriteLine( "Time Difference (days): " + span.Days );
+2
source
TimeSpan ts = Date1.Subtract(Date2);

if(ts.Days > 365)
{
// Over a year.
}
0

.

  • , .
  • , .
0

DateTime, , Timespan. Timespan Days, .

, - :

if(Math.Abs((date1 - date2).Days) <= 365) ...
0

, " " .

:

public static bool DatesAreWithinOneYear(DateTime date1, DateTime date2)
{
    DateTime startDate = date2 > date1 ? date1 : date2;
    DateTime endDate = date2 > date1 ? date2 : date1;

    int years = endDate.Year - startDate.Year;
    if (endDate < startDate.AddYears(years))
    {
        years--;
    }
    return years < 1;
}
0

t1 t2 , t1 <= t2

if(t1.AddYears(1) >= t2) {
    // t1 is within a year of t2
    return true;
} else {
    // t1 is not within a year of t2
    return false;
}
0
if (year(date1) == year(date2))
{
   //true
}
else
{
   //false
}
-2

Source: https://habr.com/ru/post/1708291/


All Articles