que estoy haciendo un monitor de actividad basado en la fecha que es similar a stackoverflow Today,YesterDay,this week,Last week,this month,last Month
..... basado en fecha actual como llegar start-date
y end-date
porque todas estas Today,YesterDay,this week,Last week,this month,last Month
Cª#?C# consiguen fecha de inicio y la última fecha de base a la fecha actual
16
A
Respuesta
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
espero que esto ayudará a:
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
No use esto: DateTime (DateTime.Now.Year, DateTime.Now.Month-1, 1) - es un típico error de principiante al codificar con fechas - qué sucede cuando mes == 1? Usted termina con el mes == 0 –
Cuestiones relacionadas
- 1. Validar si la fecha es anterior a la fecha actual
- 2. Fecha/hora actual de la fecha de la secuencia?
- 3. Fecha JSON a la fecha de Java?
- 4. Conversión de la cadena de fecha y hora de la fecha a la fecha
- 5. Insertar fecha actual en formato de fecha y hora mySQL
- 6. Establecer la fecha predeterminada del selector de fecha WPF en la fecha actual
- 7. Fecha de inicio y finalización de un mes actual
- 8. ¿Cómo obtengo la fecha actual?
- 9. agregar día a la fecha actual
- 10. ¿Cómo obtener la fecha y hora actual?
- 11. PHP: Fecha más grande que la fecha actual
- 12. Obtenga la fecha de inicio y la fecha de finalización de la semana actual (inicio de la semana del lunes y finaliza el domingo)
- 13. Obtener Fecha y hora actual y el tiempo con [fecha NSDate] fecha y hora
- 14. Python: obtener la fecha y hora de la última hora
- 15. Directorio última fecha de modificación
- 16. CLARION Fecha de Conversión C# + FECHA/menos
- 17. PHP obtener días entre la fecha de inicio y la fecha final
- 18. C++ MFC Obtenga la fecha y hora actual
- 19. obtener la fecha actual y la fecha después de dos meses en php
- 20. ¿Cómo obtener la primera fecha y la última fecha del mes anterior? (Java)
- 21. convertir la fecha aaaammdd a yyJJJ o Julian Fecha
- 22. Cómo convertir la fecha UTC + 0 a la fecha PST?
- 23. ¿Obtener la fecha de la última ejecución de trabajo exitosa?
- 24. Pasando Fecha actual
- 25. fecha y la fecha y hora en Django
- 26. Obtener la fecha de ayer usando Fecha
- 27. Rieles galletas, establecer la fecha de inicio y fecha de caducidad
- 28. javascript check fecha de finalización es mayor o igual a la fecha de inicio
- 29. Recuperar la fecha del lunes de la semana actual
- 30. Convertir la fecha de Javascript a ASP.NET Formato de fecha
hombre, odio cuando la gente coge sus propios errores que rápidamente. :) – MusiGenesis
@MusiGenesis: ¡Jaja, lo siento! ;) –
funcionó bastante bien ... –