Je fais un moniteur d'activité basée sur la date qui est similaire à stackoverflow Today,YesterDay,this week,Last week,this month,last Month
..... Basé sur la date actuelle comment obtenir start-date
et end-date
pour tous ces Today,YesterDay,this week,Last week,this month,last Month
en C#?C# get-date de début et dernier jour d'après la date actuelle
16
A
Répondre
60
DateTime baseDate = DateTime.Today;
var today = baseDate;
var yesterday = baseDate.AddDays(-1);
var thisWeekStart = baseDate.AddDays(-(int)baseDate.DayOfWeek);
var thisWeekEnd = thisWeekStart.AddDays(7).AddSeconds(-1);
var lastWeekStart = thisWeekStart.AddDays(-7);
var lastWeekEnd = thisWeekStart.AddSeconds(-1);
var thisMonthStart = baseDate.AddDays(1 - baseDate.Day);
var thisMonthEnd = thisMonthStart.AddMonths(1).AddSeconds(-1);
var lastMonthStart = thisMonthStart.AddMonths(-1);
var lastMonthEnd = thisMonthStart.AddSeconds(-1);
1
public enum FrequencyType
{
None = 0,
Daily = 1,
Weekly = 2,
Monthly = 3,
Quarterly = 4,
Annually = 5,
}
private string[] GetRange(FrequencyType frequency, DateTime dateToCheck)
{
string[] result = new string [2];
DateTime dateRangeBegin = dateToCheck;
TimeSpan duration = new TimeSpan(0, 0, 0, 0); //One day
DateTime dateRangeEnd = DateTime.Today.Add(duration);
switch (frequency)
{
case FrequencyType.Daily:
dateRangeBegin = dateToCheck;
dateRangeEnd = dateRangeBegin;
break;
case FrequencyType.Weekly:
dateRangeBegin = dateToCheck.AddDays(-(int)dateToCheck.DayOfWeek);
dateRangeEnd = dateToCheck.AddDays(6 - (int)dateToCheck.DayOfWeek);
break;
case FrequencyType.Monthly:
duration = new TimeSpan(DateTime.DaysInMonth (dateToCheck.Year, dateToCheck.Month) - 1 , 0, 0, 0);
dateRangeBegin = dateToCheck.AddDays((-1) * dateToCheck.Day + 1);
dateRangeEnd = dateRangeBegin.Add(duration);
break;
case FrequencyType.Quarterly:
int currentQuater = (dateToCheck.Date.Month - 1)/3 + 1;
int daysInLastMonthOfQuarter = DateTime.DaysInMonth(dateToCheck.Year, 3 * currentQuater);
dateRangeBegin = new DateTime (dateToCheck.Year, 3 * currentQuater - 2, 1);
dateRangeEnd = new DateTime(dateToCheck.Year, 3 * currentQuater , daysInLastMonthOfQuarter);
break;
case FrequencyType.Annually:
dateRangeBegin = new DateTime(dateToCheck.Year, 1, 1);
dateRangeEnd = new DateTime(dateToCheck.Year, 12, 31);
break;
}
result[0] = dateRangeBegin.Date.ToString();
result[1] = dateRangeEnd.Date.ToString();
return result;
}
http://zamirsblog.blogspot.com/2010/02/find-first-and-last-date-of-given-week.html
0
J'espère que cela vous aidera:
var begindate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString("MM/dd/yyyy");
Console.WriteLine("FIRST DAY OF THE CURRENT MONTH (begindate): " + begindate);
var enddate=DateTime.Now.ToString("MM/dd/yyyy");
Console.WriteLine("TODAY'S DATE (enddate): " + enddate);
var comparebegindate = new DateTime(DateTime.Now.Year, DateTime.Now.Month-1, 1).ToString("MM/dd/yyyy");
Console.WriteLine("FIRST DAY OF THE LAST MONTH (comparebegindate): " + comparebegindate);
var comparedate = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.Now.Day).ToString("MM/dd/yyyy");
Console.WriteLine("TODAY'S DATE WITH LAST MONTH (comparedate): " + comparedate);
var compareenddate = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)).ToString("MM/dd/yyyy");
Console.WriteLine("LAST MONTH'S LAST DATE (compareenddate): " + compareenddate);
+1
Ne pas utiliser ceci: DateTime (DateTime.Now.Year, DateTime.Now.Month-1, 1) - c'est une erreur débutant typique lors du codage avec des dates - ce arrive quand le mois == 1? Vous finissez avec le mois == 0 –
Questions connexes
- 1. rails: type de date et GetDate
- 2. PHP 'date de fin' d'une 'date de début' donnée - dernier jour/15 du mois suivant
- 3. Calculer la date de début et la date de fin pour ce trimestre et le dernier trimestre
- 4. C# .Net Obtenir le dernier jour du mois précédent à partir de la date du jour
- 5. Date de début SQL est le jour actuel puis la date de fin est il y a 1 mois même si ce n'est pas du premier au dernier
- 6. PHP - Afficher la date actuelle en mots?
- 7. Obtenir le dernier en date du dernier jour d'un mois
- 8. jQuery DatePicker Problème: Définir la date actuelle
- 9. Intervalle de startdate après la date actuelle
- 10. Notifications de requête SQL et GetDate()
- 11. Date de conclusion entre la date de début et la date de fin
- 12. getDate de JavaScript renvoie une date erronée
- 13. Asp.Net Date de fin supérieure à la date de début
- 14. SQLite et insertion de la date actuelle au format UTC
- 15. GetDate dans une chaîne dans C#
- 16. Getdate() équivalent pour la base de données Jet/Access. J'ai besoin des enregistrements du mois dernier
- 17. javascript getDate problème
- 18. Sharepoint: Afficher la date actuelle
- 19. Date de Zend - différence jour
- 20. Comparaison d'une date du sélecteur à la date actuelle
- 21. Début ASP.NET et C#
- 22. La date de fin doit être postérieure à la date de début (jquery pour noobs)
- 23. les cookies Rails, fixent la date de début et date d'expiration
- 24. SQL Server 2008: Comment obtenir la date de début et la date de fin de mes données?
- 25. trac wiki: comment afficher la date actuelle
- 26. Modification de la sortie de Getdate
- 27. C# valeur datetime passant basée sur la date actuelle
- 28. obtenir la date actuelle et la date après deux mois en php
- 29. section accessible par date actuelle?
- 30. Trouvez la date dernier dimanche d'Octobre dans ASP.NET C#
homme, je déteste quand les gens attrapent leurs propres erreurs rapidement. :) – MusiGenesis
@MusiGenesis: Haha, désolé à ce sujet! ;) –
a travaillé plutôt bien ... –