Buenos días
El día de hoy me encontraba con el dilema de calcular a partir de una fecha calcular el mes y la semana en que se encontraba. Una tarea que a simple vista tendría muchas soluciones tantos manuales como automáticas y la idea es hacerla lo menos costosa posible.
Navegando en la red me encontré las siguientes soluciones:
Calcular la semana en que estamos: Mi necesidad no era simplemente conocer el número de la semana en que se encuentra la fecha sino también extraer los días que se encuentran durante esa fecha para esta tarea es lógico que debemos conocer el primer y ultimo día de la semana, para esta tarea la solución mas corta que encontré fue la siguiente:
var date = DateTime.Today;
var first = date.AddDays(-1 * ((int)DateTime.Now.DayOfWeek - 1));
var last = first.AddDays(7).AddMilliseconds(-1);
Ya conocemos el primer y ultimo dia de la semana, ahora necesitamos el primer y ultimo dia del mes:
DateTime fechatemp = DateTime.Today;
DateTime fecha1 = new DateTime(fechatemp.Year, fechatemp.Month, 1);
DateTime fecha2;
if (fechatemp.Month + 1 < 13)
{ fecha2 = new DateTime(fechatemp.Year, fechatemp.Month + 1, 1).AddDays(-1); }
else
{ fecha2 = new DateTime(fechatemp.Year + 1, 1, 1).AddDays(-1); }
Fuentes:
http://elmapacheprogramador.blogspot.com/2015/01/obtener-el-lunes-y-domingo-de-la-semana-de-una-fecha-dada-en-csharp.html -->Fuente del domingo
http://www.jpozo.net/2011/10/como-saber-la-fecha-del-lunes-de-la.html --> Fuente del lunes
http://recuerdaprogramacionrapido.blogspot.com/2010/08/dateadd-sumar-valores-dias-meses-o-anos.html
http://www.cjorellana.net/2011/02/primer-y-ultimo-dia-de-mes-c.html --> Fuente del primer y ultimo día del mes
https://social.msdn.microsoft.com/Forums/es-ES/b5fb0faf-eec3-43a0-94da-b2224915996e/convertir-el-numero-de-semana-en-fecha?forum=vbes
https://social.msdn.microsoft.com/Forums/es-ES/8810e7ba-acc4-457b-830a-d17066149527/obtener-fecha-inicial-y-final-del-mes?forum=vcses
No hay comentarios:
Publicar un comentario