fecha y hora

Alvarine
31 de Mayo del 2004
hola alguien me podria decir alguna funcion que muestre la hora del sistema y alguna funcion que haga lo mismo con la fecha????' estoy haciendo un programilla en c y uso el devc++, si ademas me decis las librerias que hay que usar ya lo bordais

venga... que si alguien me responde a esto pongo el culo donde haga falta jajajjajja

Mariano Ventaja
31 de Mayo del 2004
En eso del culo paso, pero respondo igual.

GetLocalTime() para la hora y fecha local y GetSystemTime() para la hora y fecha en Greenwich.

http://msdn.microsoft.com/library/en-us/sysinfo/base/getlocaltime.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getsystemtime.asp

Saludos,
Mariano http://www.c0d3rz.com.ar

Alvarine
31 de Mayo del 2004
Hola, lo del culo era broma jejeje

Bueno, dbo ser muy torpe porque no me sale. En los enlaces que me as puesto vienen un monton de estructuras y cosas raras que hay que poner y luego convertirlas de formato ..... bueno, demasiado complicado para mi (ademas si lo pongo no me compila).

me podrias poner un ejemplillo porfavor de como se hace???

Mariano Ventaja
31 de Mayo del 2004
#include <windows.h>
#include <stdio.h>

void main()
{
SYSTEMTIME fecha;
GetLocalTime(&fecha);
char *str_fecha = (char*)malloc(1024);
ZeroMemory(str_fecha,1024);
//hay que pasar los WORDS a DWORD para poder usarlos como argumentos
DWORD anio = 0;
DWORD mes = 0;
DWORD dia = 0;
anio = fecha.wYear;
mes = fecha.wMonth;
dia = fecha.wDay;
wsprintf(str_fecha,"La fecha actual es: %d/%d/%dn",dia,mes,anio);
printf(str_fecha);
DWORD hora = 0;
DWORD minuto = 0;
DWORD segundo = 0;
hora = fecha.wHour;
minuto = fecha.wMinute;
segundo = fecha.wSecond;
wsprintf(str_fecha,"La hora actual es: %d:%d:%d",hora,minuto,segundo);
printf(str_fecha);
free(str_fecha);
}

Saludos,
Mariano http://www.c0d3rz.com.ar

Alvarine
31 de Mayo del 2004
bueno el programa tira de lujo pero hay cosas que no entiendo.

No se para que sirve wsprintf y despues justo debajo un printf, esa estructura no la eentoendo, no se para que sirve.

Es posible que me imprima la hora en este formato 13:05:09??? esque me lo esta imprimiendo asi: 13:5:9

y por ultimo ( y prometo que ya te dejo en paz con este tema), es posible imprimir la fecha en este formato: 30 de Mayo de 2004 en vez de la que me sale (30/5/2004)

si no se puede pues nada, demsiado has exo ya por mi

muchisimas gracias por todo

Mariano Ventaja
31 de Mayo del 2004
wsprintf() le da formato a una cadena segun los parametros.

Las otras dos cosas se pueden hacer obviamente, ahora me voy a almorzar cualquier cosa preguntame en mi pagina.

Saludos,
Mariano http://www.c0d3rz.com.ar

Alvarine
31 de Mayo del 2004
LO SIENTO PERO NO ME DEJA REGISTRARME EN TU PAGINA Y NO PUEDO ESCRIBIR

Lo que pasa es que no se que diferencia hay entre lo que tu has escrito y esto:

#include <stdio.h>
#include <windows.h>

main()
{
SYSTEMTIME fecha;
GetLocalTime(&fecha);
//hay que pasar los WORDS a DWORD para poder usarlos como argumentos

DWORD ano=fecha.wYear, mes=fecha.wMonth, dia=fecha.wDay;
DWORD hh=fecha.wHour, mm=fecha.wMinute, ss=fecha.wSecond;

printf("La fecha actual es: %d/%d/%dn",dia,mes,ano);
printf("La hora actual es: %d:%d:%d",hh,mm,ss);

}

me imprime exactamente lo mismo y me evito tanta cosa que no entiendo. Necesito que me aconsejes sobre que es mejor poner y porque.

otra cosa. no tengo ni idea de como podria poner el formato de la fecha asi: 30 de Mayo de 2004. otra ayudita please


Alejandro_
31 de Mayo del 2004
En http://www.char-star.net/ctime_o_timeh.htm puse un artículo sobre cómo obtener la fecha y hora del sistema (con distintos formatos) usando funciones de la biblioteca estándar.

Alejandro

Mariano Ventaja
31 de Mayo del 2004
La diferencia es printf() lo saca en la consola y wsprintf() lo deja en una string que despues se puede utilizar para otras cosas, en este caso podes usar printf() directamente.

Pero como vas a hacerlo directamente para saber donde meter los ceros?

Como no te va a dejar registrar? Tengo un monton de personas ya preo bueno...

Saludos,
Mariano http://www.c0d3rz.com.ar

Alvarine
31 de Mayo del 2004
lo he opiado y pegado, lo he compilado y... funciona de lujo. Muchas gracias por tu ayuda crack, ahora a ver como lo acoplo a mi programilla

saludos y hasta otra

Gael
31 de Mayo del 2004

Sabeís por que en el Dev-C si lo copi tal cual
no me lo compila, me da un error

void main

y en cambio si le pongo

int main()

si que me lo compila y me funciona bien.

Gracias

Mariano Ventaja
31 de Mayo del 2004
Lo grabaste como .C o como .CPP?
Creo que el standard C no permite un main con void, pero la verdad no me acuerdo.

De cualquier manera el programa si funciona me alegro haber podido ayudarte.

Saludos,
Mariano http://www.c0d3rz.com.ar