J'utilise un asp: Calander et j'ai un objet qui a une date de début et une date de fin. Je dois obtenir toutes les dates entre ces deux dates et les placer dans un tableau afin que je puisse ensuite rendre correspondante dates Calandre avec différents CSSMeilleur moyen d'obtenir toutes les dates entre DateA et DateB
Répondre
J'ai voté AlbertEin parce qu'il a donné une bonne réponse, mais avez-vous vraiment besoin d'une collection pour tenir toutes les dates? Lorsque vous affichez le jour, ne pouvez-vous pas simplement vérifier si la date correspond à la plage spécifiée, puis la restituer différemment, sans avoir besoin d'une collection. Voici un code pour démontrer
DateTime RangeStartDate,RangeEndDate; //Init as necessary
DateTime CalendarStartDate,CalendarEndDate; //Init as necessary
DateTime CurrentDate = CalendarStartDate;
String CSSClass;
while (CurrentDate != CalendarEndDate)
{
if(CurrentDate >= RangeStartDate && CurrentDate <= RangeEndDate)
{
CSSClass= "InRange";
}
else
{
CSSClass = "OutOfRange";
}
//Code For rendering calendar goes here
currentDate = currentDate.AddDays (1);
}
DateTime startDate;
DateTime endDate;
DateTime currentDate = startDate;
List<DateTime> dates = new List<DateTime>();
while (true)
{
dates.Add (currentDate);
if (currentDate.Equals (endDate)) break;
currentDate = currentDate.AddDays (1);
}
Il suppose que startDate < que endDate, vous obtenez les résultats sur la liste des "dates"
IEnumerable<DateTime> RangeDays(DateTime RangeStart, DateTime RangeEnd) {
DateTime EndDate = RangeEnd.Date;
for (DateTime WorkDate = RangeStart.Date; WorkDate <= EndDate; WorkDate = WorkDate.AddDays(1)) {
yield return WorkDate;
}
yield break;
}
code non testé ... mais devrait fonctionner.
je ne sais pas sur le calendrier asp.net, mais ça fonctionne très bien pour obtenir les dates entre la date de début et la date considérant que la date de fin est toujours supérieure à la date de début. – nccsbim071
// inclusive
var allDates = Enumerable.Range(0, (endDate - startDate).Days + 1).Select(i => startDate.AddDays(i));
// exclusive
var allDates = Enumerable.Range(1, (endDate - startDate).Days).Select(i => startDate.AddDays(i));
- 1. Mysql: Sélectionnez toutes les données entre deux dates
- 2. Comment afficher toutes les dates entre deux dates données dans SQL
- 3. SQL Server le meilleur moyen de calculer datediff entre la ligne actuelle et la ligne suivante?
- 4. Temps total entre les dates dans MySQL
- 5. Quel est un bon moyen de déterminer les dates d'une plage de dates?
- 6. Calculer les plages de dates manquants et des plages de dates qui se chevauchent entre deux dates
- 7. Meilleur et simple moyen d'appeler les assemblys .net en java
- 8. Modèle CakePHP avec "Entre dates"
- 9. Linq2Sql comment obtenir toutes les dates distinctes sans temps partie
- 10. Meilleur moyen de rechercher
- 11. Oracle SQL LOOP (entre 2 dates) et le comptage
- 12. Comment résoudre l'ambiguïté lexicale entre les nombres et les dates dans ANTLR 2?
- 13. Validation CakePHP pour les dates
- 14. ruby on rails va paginer entre les dates
- 15. SubSonic SubSonic.SqlQuery & Dates
- 16. saisissant le texte entre toutes les étiquettes dans Nokogiri?
- 17. nombre de périodes (personnalisées) entre deux dates
- 18. Date de comparaison entre deux dates?
- 19. Le meilleur moyen d'organiser cette structure?
- 20. Comment sélectionner les dates mensuelles et annuelles?
- 21. Meilleur moyen d'extraire le numéro de téléphone et de reformater?
- 22. Pour faire une différence entre 2 dates
- 23. meilleur moyen d'échanger des fichiers
- 24. Oracle 10gr2: les dates d'entrée en vigueur sont-elles entre 9h et 17h?
- 25. PHP moyen le plus efficace de communication entre les serveurs
- 26. Le meilleur moyen de modifier les enregistrements personnalisés dans ASP.NET?
- 27. meilleur moyen pour les formes dynamiques avec Spring?
- 28. Le meilleur moyen de lire/définir les options IE?
- 29. SQL Modèle de date pour les dates que l'utilisateur ne peut pas connaître toutes les informations
- 30. Le meilleur moyen de lister les dépendances Merb :: Slices?
Je sais dans VB.NET AddDays renvoie un objet de date qui doit être affecté. Il serait utilisé comme ceci "currentDate = currentDate.AddDays (1) .Je ne suis pas sûr si c'est la même chose en C# –
Vous aviez raison, merci – albertein