| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
Pablogamb
Registrado: 01 Abr 2014 Mensajes: 2
| Publicado: 01/04/2014 8:58 pm | | | Título: Ayuda, Metodo comparar mes |
| | Buenas, quisiera saber si me podian ayudar o guiarme para hacer un metodo. Para guiarlos en lo que estoy trabajando, es que cuando yo creo un empleado con un contrato determinado, este mismo guarda su fecha de creacion. Lo que necesito es saber como hago un calculo entre la fecha de creacion y despues de 3 meses de esa fecha, esto para que el empleado tenga una plaza fija. No se si me hago a entender, cualquier cosa me preguntan. Muchas Gracias |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 7520 Ubicación: Mexico
| Publicado: 02/04/2014 6:46 am | | | Título: |
| Hola
Bienvenido a los foros. Por favor lee sus reglas.
Lo primero que debes indicar es el lenguaje de programación (C o C++) que utilizas. En el caso de C la forma mas fácil es utilizando las facilidades de su biblioteca estándar (el prototipo a incluir es <time.h>).
Los pasos son: 1) Obtienes la fecha actual con la función time. 2) En base al objeto de tipo time_t obtienes uno de tipo "struct tm" mediante la función localtime o gmtime. 3) Incrementas el valor del campo tm_mon. 4) Reajustas los valores mediante la función mktime.
Un ejemplo sencillo:
| Código: | #include <stdio.h> #include <stdlib.h> #include <time.h>
int main(void) { struct tm a = {0}; struct tm b = {0}; time_t now; now = time(NULL); a = b = *localtime(&now); /* Fecha con tres meses menos */ a.tm_mon -= 3; mktime(&a); printf(" -3 ==> %4d/%02d/%02d\n", a.tm_year + 1900, a.tm_mon + 1, a.tm_mday); /* Fecha actual */ printf("Now ==> %4d/%02d/%02d\n", b.tm_year + 1900, b.tm_mon + 1, b.tm_mday); /* Fecha con tres meses mas */ b.tm_mon += 3; mktime(&b); printf(" +3 ==> %4d/%02d/%02d\n", b.tm_year + 1900, b.tm_mon + 1, b.tm_mday); return EXIT_SUCCESS; } |
Y su salida (al día de hoy) es:
| Código: | -3 ==> 2014/01/02 Now ==> 2014/04/02 +3 ==> 2014/07/02 |
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |