Je dois vérifier si une date (mois-année) est moins que la date réelle.
Je sais comment le faire uniquement avec une seule mois ou une année, comme P>
DateTime.Parse(o.MyDate).Year <= DateTime.Now.Year
5 Réponses :
var date = DateTime.Parse(o.MyDate); var currentTime = DateTime.Now; // Each year can be subdivided in 12 parts (the months) bool result = date.Year * 12 + date.Month <= currentTime.Year * 12 + currentTime.Month;
Si les années sont les mêmes, comparez les mois, si les années ne sont pas identiques, votre année doit être plus petite que maintenant: update: strong> P> Pour vérifier si YourDate code> est dans une certaine plage de temps, utilisez ceci: p>
J'ai mis à jour ma cible. Cela ne fonctionnera pas avec ce code. Désolé, n'était pas clair :) J'espère maintenant que vous pouvez comprendre ce que je recherche ...
Je sais comment faire cela en utilisant un mois ou une année unique. Mais n'est pas ce que j'ai demandé :) est si je peux vérifier directement l'année par mois ...
@markzzz: Ma réponse vérifie exactement ce que vous avez demandé. Il vérifie si une certaine date est dans une gamme de dates. Mois / année est une date aussi, cela équivaut à 01 / mois / année. S'il vous plaît essayez de comprendre le code à nouveau. J'ai mis à jour ma réponse pour le rendre plus explicite.
Oui, mais vérifiant la première année du mois. pas directement un mois d'année. C'est ce que j'ai demandé ... mais d'accord si je ne peux pas le faire, je vais utiliser votre propre code :)
DateTime dateCheck = DateTime.Parse(o.MyDate); bool result = ((Now.Month - dateCheck.Month) + 12 * (Now.Year - dateCheck.Year)) > 0
Date date1 = new Date(2011, 1, 1, 0, 0, 0); Date date2 = new Date(2011, 2, 1, 0, 0, 0); int result = DateCompare(date1, date2); if the result is < 0 then date1 < date2 if the result is 0 then date1 == date2 if the result is > 0 the date1 > date2
var date1 = new DateTime(year1, month1, 1); var date2 = new DateTime(year2, month2, 1); if(date1 < date2)...
Quel est le problème avec ce que vous avez maintenant?
parse code> fonctionne toujours pour vous? analyser une fois, puis jouez avec les valeurs de l'instance analysée, seraient plus simplesPar exemple, je dois vérifier si 10-2011 (maintenant) est compris entre 01-2011 et 04-2012 ...
Pourquoi y a-t-il trois dates? Y a-t-il plus de dates que o.mydate et datetime.now?