web-dev-qa-db-fra.com

Comparaison de dates - Comment vérifier si 20 minutes se sont écoulées?

Comment vérifier si 20 minutes se sont écoulées depuis la date actuelle?

Par exemple: 

var start = DateTime.Now;
var oldDate = "08/10/2011 23:50:31"; 

    if(start ??) {
     //20 minutes were passed from start
    }

quelle est la meilleure façon de faire ça? Merci :)

27
The Mask
var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31");

if ((start - oldDate).TotalMinutes >= 20)
{
    //20 minutes were passed from start  
}
9
VoidStar

Analyser oldDate dans un objet DateTime (DateTime.Parse). 

Soustrayez la date analysée de start. Cela retournera un TimeSpan.

Inspecter TotalMinutes.

5
Anthony Pegram
var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31"); 

    if(start.Subtract(oldDate) >= TimeSpan.FromMinutes(20)) 
    {
     //20 minutes were passed from start
    }
4
Steve Danner

J'ai pu accomplir cela en utilisant une bibliothèque JodaTime dans mon projet. Je suis sorti avec ce code.

String datetime1 = "2012/08/24 05:22:34";
String datetime2 = "2012/08/24 05:23:28";

DateTimeFormatter format = DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss");
DateTime time1 = format.parseDateTime(datetime1);
DateTime time2 = format.parseDateTime(datetime2);
Minutes Interval = Minutes.minutesBetween(time1, time2);
Minutes minInterval = Minutes.minutes(20);

if(Interval.isGreaterThan(minInterval)){
  return true;
}
else{
  return false;
}

Cela vérifiera si l'intervalle de temps entre datetime1 et datetime2 est supérieur à 20 minutes. Modifiez la propriété en secondes. Ce sera plus facile pour vous savez. Cela retournera faux.

1
John Paul Manoza
var end = DateTime.Parse(oldDate);   
 if (start.Hour == end.Hour && start.AddMinutes(20).Minute >= end.Minute)
0
Kakashi