Exactamente como se dice en la lata, sólo necesito la forma más eficiente de contar semanas (es decir, tramos de 7 días, no semanas calendario) entre dos fechas en C#.forma más eficiente para contar el número de semanas entre dos datetimes
Respuesta
Obtener el número de días y dividir por 7.
int weeks = (date1 - date2).TotalDays/7;
Usted también puede tener un resto de hasta 6 días que no se incluirán en el número de semanas.
Gracias. No creería cuántas respuestas basura hay para este en línea, y estoy teniendo un poco de un día de cerebro duro y no podría encontrar nada. – McAzzaMan
Esta respuesta no funciona cuando desea conocer el otro "tipo" de medición de semanas, por lo que se desea semanas de calendario, no cualquier intervalo arbitrario. Entonces, por ejemplo, diga que tiene un criterio de frecuencia según el cual se debe hacer algo "una vez por semana". Si se hizo un sábado, entonces el domingo desea ver el resultado de "1" porque ahora es una nueva semana calendario. Para obtener un cero, tendría que comparar dos fechas en la misma semana. Esta respuesta dará "0" y continuará dando cero hasta el próximo sábado. Ver la observación 'V4Vendetta' en los comentarios OP. – DAG
@DAG - ¿Has leído la pregunta? Eso no es lo que pidió. – Oded
Asumo que desea conseguir esto sobre la base de la calandria. Para ello, tiene System.Globalization
DateTime date1 = DateTime.Now;
DateTimeFormatInfo dinfo = DateTimeFormatInfo.CurrentInfo;
dinfo.Calendar.GetWeekOfYear(date1, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday)
en base a su necesidad que tiene que configurar la regla de la semana del calendario y el primer día de la semana.
Esto le da un número de semana para el calendario. usted puede conseguir lo mismo con su otra fecha, la diferencia es sus semanas cuentan
la esperanza que esto le ayuda.
Esto falla en el caso muy común de dos fechas que abarcan diferentes años. No todos los años son 52 semanas, por lo que su respuesta no tiene una solución inmediata. – DAG
Pruebe lo siguiente para obtener el número de días:
TimeSpan ts = date1.Subtract(date2);
int dateDiff = ts.Days();
Entonces, como @Oded dicho, se divide por 7
int totalWeeks = (int) dateDiff/7;
Salud!
- 1. ¿Forma más eficiente de contar intersecciones?
- 2. ¿Cómo se calcula el número de semanas entre dos fechas?
- 3. Diferencia entre dos DateTimes C#?
- 4. cómo calcular el número de semanas dado 2 fechas?
- 5. C# forma más eficiente de la comparación de dos colecciones
- 6. Obteniendo todos los DateTimes entre dos 'DateTime's en C#
- 7. ¿La manera más eficiente de contar las ocurrencias?
- 8. La forma más eficiente de leer el archivo
- 9. Rails número de semanas en el mes
- 10. La forma más rápida de contar el número de caracteres en mayúsculas en C#
- 11. La forma más rápida/más eficiente de comparar dos matrices de cadenas Javascript
- 12. La forma más eficiente para obtener todos los divisores de un número
- 13. ¿Cuál es la forma más eficiente de truncar un número para una precisión específica?
- 14. manera eficiente para contar las líneas cantidad obedeciendo alguna condición
- 15. Contar el número de coincidencias
- 16. mysql: obtener el número de registros entre dos fecha-hora
- 17. Ruby: contar el número de 1 de un número binario
- 18. forma más eficiente para actualizar con LINQ to SQL
- 19. ¿Cuál es la forma más eficiente de calcular el mínimo común múltiplo de dos enteros?
- 20. ¿Contar meses entre dos marcas de tiempo en postgresql?
- 21. ¿Cómo contar las diferencias entre dos archivos en Linux?
- 22. Obtenga el número de semanas calendario entre 2 fechas en C#
- 23. varchar Fields - ¿Es una potencia de dos más eficiente?
- 24. forma más eficiente para definir Socket.io on ("mensaje")
- 25. Contar el número de elementos con propiedades
- 26. Manera eficiente de encontrar la distancia entre dos puntos 3D
- 27. Contar el número de caminos posibles para arriba la escala
- 28. ¿Cómo contar el número de 1 que tendrá un número en binario?
- 29. calcular el número de semanas en un año determinado
- 30. ¿Cómo selecciono hace dos semanas en MYSQL?
¿Quieres decir semanas como en Calender? – V4Vendetta
¿Qué otro tipo de semanas hay? ¿Y cuántos de ellos tienen algo que ver con C# o datetimes? – McAzzaMan
Lo que quiero decir es dos enfoques por los cuales cualquier período de 7 días podría ser una semana y el otro cuando sigue el calendario que tiene semanas en intervalos de fechas específicos. Dado que se trata de fechas, es más relevante verificarlas con las semanas del calendario. – V4Vendetta