Je dois comparer trois dates dans la requête linq (datetime a < datetime b < datetime c), mais seulement les propriétés mois et jour. Comment puis-je le faire?DateTime comparant la question
Répondre
Vous pouvez créer une nouvelle datetime avec l'année en cours:
var year = DateTime.Now.Year;
var dateATemp = new DateTime(year, dateA.Month, dateA.Day);
var dateBTemp = new DateTime(year, dateB.Month, dateB.Day);
var dateCTemp = new DateTime(year, dateC.Month, dateC.Day);
Maintenant, comparez dateATemp < dateBTemp < dateCTemp
Vous pourriez écrire une méthode d'extension à partir DateTime qui vous renverra une nouvelle instance DateTime avec l'année en cours:
public static DateTime ToDateTimeWithCurrentYear(this DateTime value)
{
return new DateTime(DateTime.Now.Year, value.Month, value.Day);
}
et l'utiliser comme ceci:
dateA.ToDateTimeWithCurrentYear() < dateB.ToDateTimeWithCurrentYear() < dateC.ToDateTimeWithCurrentYear()
Attention aux années bissextiles! Si la date de l'utilisateur est le 29 février mais que 'DateTime.Now' ne figure pas dans une année bissextile, alors vous frapperez une exception. A part ça, c'est similaire à ce que je vous avais suggéré +1. – LukeH
merci. idée de faire cette méthode est vraiment cool. – Varyanica
@Luke, très bonne prise avec l'année bissextile. Je n'y ai pas pensé. –
Est-ce que vous cherchez:
(a.Month < b.Month || (a.Month == b.Month && a.Day < b.Day)) && (b.Month < c.Month || (b.Month == c.Month && b.Day < c.Day))
merci, j'ai terminé avec une comparaison comme le vôtre. – Varyanica
- 1. question comparant multiprocessing vs twisted
- 2. DateTime question dans VB.NET
- 3. Question DateTime régulière
- 4. Une autre question dateTime
- 5. MySQL DATETIME question
- 6. comparant la date dans l'iPhone
- 7. Question sur la conversion d'ints en datetime dans TSQL
- 8. question sur l'ajout de DateTime dans C#?
- 9. erreur comparant les dates dans la requête SQL
- 10. comparant la date à Ruby (findbySql)
- 11. Linq Liste comparant
- 12. Python comparant deux listes
- 13. postgres - comparant deux tableaux
- 14. comparant int avec size_t
- 15. comparant la date d'aujourd'hui + 30 jours à une autre date
- 16. comparant params dans les rails
- 17. Java, comparant les valeurs BigInteger
- 18. comparant les numéros dans Matlab
- 19. Parole comparant et le remplacement
- 20. valeur de la variable uniquement en comparant cette deux liste
- 21. Synchronisation des données de l'iPhone vers le serveur Question Datetime
- 22. comparant les listes avec des listes
- 23. Bash comparant la valeur "booléenne" stockée avec quoi?
- 24. Linq Query Performance, comparant la requête compilée et non compilée
- 25. dates comparant en PHP et MYSQL
- 26. En comparant deux champs dans django
- 27. En comparant deux lambdas/Procs en Ruby
- 28. SQL comparant ensemble d'informations dans une colonne
- 29. LINQ et deux colonnes de date comparant
- 30. Fusionner la date d'un datetime et l'heure d'un autre datetime
Pouvez-vous nous montrer ce que vous avez à ce jour? –