¿Cuál es el algoritmo que, dado un día, mes y año, devuelve un día de la semana?¿Algoritmo de fecha a día de la semana?
Respuesta
Esto se puede hacer utilizando las funciones std::mktime
y std::localtime
. Estas funciones no son solo POSIX, sino que están impuestas por el Estándar C++ (C++ 03 §20.5).
#include <ctime>
std::tm time_in = { 0, 0, 0, // second, minute, hour
4, 9, 1984 - 1900 }; // 1-based day, 0-based month, year since 1900
std::time_t time_temp = std::mktime(& time_in);
// the return value from localtime is a static global - do not call
// this function from more than one thread!
std::tm const *time_out = std::localtime(& time_temp);
std::cout << "I was born on (Sunday = 0) D.O.W. " << time_out->tm_wday << '\n';
+1 upvoted. También votó para reabrir esta pregunta. Tal vez es un duplicado de desbordamiento de pila, no sé. Pero esta es una pregunta real de C++ (se cerró como una pregunta no real), y esta es una buena respuesta. –
Hmm, obtuve un voto negativo. No estoy seguro por qué, pero tenga en cuenta que 'std :: localtime' no es seguro para subprocesos. Ver [esta Q & A] (http://stackoverflow.com/q/7313919/153285). – Potatoswatter
Conozco su respuesta aceptada, pero no la respuesta que realmente me pidió. –
Necesita un punto de partida. Hoy está bien. Hard-code it.
Luego, debe representar el número de días en un mes. Esto es 31, 28, 31, 30, 31, 30, .... De modo que puede comenzar a sumar y restar 365% 7 al día de la semana de cada año y (suma de días en la diferencia del mes)% 7 nuevamente. Y así.
La advertencia: Los años bisiestos se producen en todos los años cuarto, pero no todos los número 100, a menos que el año es también un múltiplo de 400.
Puedo ir con eso. La codificación dura es totalmente buena. –
- 1. Fecha de entrega, obtener el día de la semana - SYSTEMTIME
- 2. Fecha de día de la semana en el maravilloso
- 3. Fecha de formato como día de la semana
- 4. Encontrar Primer día de la semana a través de php
- 5. configuración día de la semana en javascript
- 6. fecha de la conversión a un día de la semana en I
- 7. Android: obtener el día de la semana a partir de la fecha?
- 8. ¿Cómo encontrar el primer día de la semana a la que pertenece una fecha determinada?
- 9. ¿Cómo obtener el nombre del día de la semana a partir de una fecha?
- 10. ¿Cómo encontrar el día de la semana a partir de una fecha usando PHP?
- 11. cómo obtener la fecha de la semana pasada (martes o cualquier otro día) en php?
- 12. Encuentra el día de una semana
- 13. Obteniendo el día de la semana localizado
- 14. Calcule el último día de la semana de un mes
- 15. pl sql cómo obtener el día de la semana para la fecha de oráculo db
- 16. Obtener el día de la semana en SQL 2005/2008
- 17. Use jQuery/JS para determinar el DÍA DE LA SEMANA
- 18. obtener enésimo día de la semana del mes en C#
- 19. Cómo obtener un formato de fecha larga de DateTime sin día de la semana
- 20. Obtenga la siguiente fecha del día de la semana en JavaScript
- 21. Obtener la fecha del día específico de la semana en JavaScript
- 22. cómo conseguir el primer día y el último día de la semana y el año número
- 23. Cambiando el primer día de la semana en rieles
- 24. php - encuentra la fecha para el mismo día de la semana del año pasado
- 25. código Ruby para obtener la fecha del próximo lunes (o cualquier día de la semana)
- 26. ¿Cómo obtengo el primer día de la semana de una fecha en mysql?
- 27. ¿Cómo obtengo el día de la semana desde un objeto de fecha?
- 28. ¿Cómo se calcula el día de la semana de una fecha en ruby?
- 29. Java día de la semana de la cadena
- 30. joda time - agregar días de la semana a la fecha
En Wikipedia: [Cálculo del día de la semana] (http: // en .wikipedia.org/wiki/Calculating_the_day_of_the_week). – hammar
Puedes buscarlo en Google en unos cinco segundos. Aquí hay otra pregunta sobre SO al respecto: http://stackoverflow.com/questions/3017745/given-date-get-day-of-week-systemtime – darvids0n
@darvid: Es un Q & A específico de Windows, no creo sí cuenta. – Potatoswatter