J'ai une chaîne nommée date
. date
soutient une date comme jan 10
. Je veux vérifier si ça tombe entre deux dates ou pas. L'exemple jan 10
est compris entre dec 10
et feb 10
. Comment puis-je faire cette tâche?problème de comparaison de date
Répondre
Manish
Cela devrait le faire si vous utilisez C#
public bool IsDateBetweenOtherDates(DateTime startDate,DateTime endDate, DateTime testDate)
{
return startDate < testDate && endDate > testDate;
}
vous pouvez également utiliser des méthodes d'extension. –
string date = "jan 10";
var dt = DateTime.ParseExact(date, "MMM dd", CultureInfo.InvariantCulture);
if (dt < new DateTime(dt.Year, 12, 10) &&
dt > new DateTime(dt.Year, 2, 10))
{
// the date is between 10 feb and 10 dec.
}
Votre première distribution de date n'est pas tout à fait correcte. Ça va le jeter à la même année que son rendez-vous. Vous avez besoin de dt.Year - 1 –
Étant donné que l'entrée n'a pas de composant d'année, la méthode 'ParseExact' utilisera l'année en cours et si vous utilisez' dt.Year-1', la condition ne sera ** jamais ** satisfaite. –
Vous devez utiliser DateTime.TryParse()
pour transformer votre chaîne en un DateTime, qui peut ensuite être comparée à d'autres dates.
DateTime minDate = // minimum boundary
DateTime maxDate = // maximum boundary
string input = "January 10, 2010";
DateTime inputDate;
if (DateTime.TryParse(input, out inputDate))
{
if (inputDate > minDate && inputDate < maxDate)
{
...
}
}
Convertissez vos dates pour DateTime et que d'utiliser les JPLabs extension method Between.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace JpLabs.Extensions
{
public static class ComparableExt
{
static public bool Between<T>(this T actual, T lower, T upper) where T : IComparable<T>
{
return actual.CompareTo(lower) >= 0 && actual.CompareTo(upper) < 0;
}
}
}
J'espère que cela aide.
Essayez ceci:
public bool IsDateBetweenOtherDates(DateTime startDate,DateTime endDate, DateTime testDate)
{
return startDate < testDate && endDate > testDate;
}
Envisagez d'expliquer pourquoi ce code devrait fonctionner. Cela rend la réponse plus utile aux autres et a plus de chances d'être appréciée. – Kris
- 1. XMLGregorianCalendar comparaison de date
- 2. Jquery Date de comparaison
- 3. Comparaison de date SQL
- 4. Comparaison de la date
- 5. Comparaison de date dans SQLite
- 6. Android comparaison de date sqlite?
- 7. Comparaison de la date Delphi
- 8. Comparaison de la date JavaScript
- 9. PHP MySQL Comparaison de date
- 10. Date de comparaison des solutions
- 11. FreeMarker Date actuelle de comparaison
- 12. Comparaison de date dans Jquery
- 13. Table de SQL Date Comparaison de champs
- 14. requête MySQL comparaison DATE
- 15. Problème de comparaison Oracle
- 16. Filtre de comparaison de date MySQL
- 17. comparaison Date JavaScript
- 18. Problème de comparaison de hash
- 19. Date de comparaison entre deux dates?
- 20. Comparaison de date/heure dans Rails
- 21. Microsoft Access SQL Date de comparaison
- 22. Comment faire une comparaison de date
- 23. Comparaison de la date dans Android
- 24. comparaison de date dans une liste retournée
- 25. Problème de date et de date SQL
- 26. Format de comparaison de date dans la procédure stockée
- 27. Problème de comparaison de temps avec Rails
- 28. Comparaison d'une date du sélecteur à la date actuelle
- 29. Problème lors de la comparaison de deux variables PHP
- 30. Horodatage et comparaison de date dans MySQL - erreur ambiguë
Pouvez-vous s'il vous plaît utiliser des lettres majuscules au début des phrases et des noms propres? –
Les trois dates sont-elles toutes en chaîne? – zapping