Dev - C++ - Funciones para mostrar la fecha y la hora actual.

 
Vista:
sin imagen de perfil

Funciones para mostrar la fecha y la hora actual.

Publicado por Daniel (4 intervenciones) el 05/11/2016 17:16:36
Buenas, tengo una duda.

Estoy utilizando Visual Studio 2015 y quiero hacer que se me muestre por pantalla la "fecha" y la "hora actual", para ellos estoy utilizando las funciones: getLocalTime y getTimeFormat.

Lo tengo que hacer en C++.

Yo pongo esto dentro del main:

printf(GetLocalTime);
printf(GetTimeFormat);

Y al ejecutarlo me muestra lo siguiente por pantalla:

ÿ00B3104BlötÌÌÌÌÌÌÌÌÌÌ<ÿU<ìQ¡¼Pöt3Å%EüV<5üWöt.ö._U

¿que puedo hacer para poder mostrarlo por pantalla?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones para mostrar la fecha y la hora actual.

Publicado por agustin (522 intervenciones) el 05/11/2016 18:52:41
printf no es de C++ sino de C. En C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <ctime>
 
int main (){
   time_t current_time;
   struct tm * time_info;
   char timeString[9];
 
   time(&current_time);
   time_info = localtime(&current_time);
 
   strftime(timeString, sizeof(timeString), "%H:%M:%S", time_info);
   puts(timeString);
   return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Funciones para mostrar la fecha y la hora actual.

Publicado por Daniel (4 intervenciones) el 05/11/2016 18:59:10
Perdón, es que no lo he comentado bien: para sacar la fecha o la hora tiene que ser con la función getTimeFormat(), no me vale de otra forma distinta, aunque haya otra solución de otra forma, pero tiene que ser con la función esa.
Y estoy probando pero me da error.


Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones para mostrar la fecha y la hora actual.

Publicado por agustin (522 intervenciones) el 05/11/2016 21:37:04
Es normal que te muestre lo que te muestra. Si miras lo que hace GetLocalFile veras que necesita un puntero a una estructura de tipo SYSTEMTIME y tu no le pones ni parametros, solo el nombre de funcion con lo que no se ni que mostraria y encima usas printf sin cadena de formato.
Con GetTimeFormat mas de lo mismo.
Te pongo un pequeñisimo ejemplo en C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <Windows.h>
 
using std::cout;
 
int main(int argc, char* argv[])
{
    SYSTEMTIME stBuffer;
    char buffer[9];
 
    GetLocalTime(&stBuffer);
    GetTimeFormat(LOCALE_SYSTEM_DEFAULT,
                  TIME_FORCE24HOURFORMAT,
                  &stBuffer, "hh':'mm':'ss",
                  buffer,
                  sizeof(buffer));
    cout<<buffer;
    return 0;
}
//---------------------------------------------------------------------------
Para pasarlo a C es tan facil como esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <Windows.h>
 
//---------------------------------------------------------------------------
 
int main(int argc, char* argv[])
{
    SYSTEMTIME stBuffer;
    char buffer[9];
 
    GetLocalTime(&stBuffer);
    GetTimeFormat(LOCALE_SYSTEM_DEFAULT,
                  TIME_FORCE24HOURFORMAT,
                  &stBuffer, "hh':'mm':'ss",
                  buffer,
                  sizeof(buffer));
    printf("%s",buffer);
    return 0;
}
//---------------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Funciones para mostrar la fecha y la hora actual.

Publicado por Daniel (4 intervenciones) el 06/11/2016 18:18:53
Buenas de nuevo, se me muestra en pantalla : hh':'mm':'ss

Para poder ver eso tengo que poner Caracteres Multibytes, pero yo lo tengo que hacer en caracteres UNICODE, y al ejecutarlo de esta forma no me muestra la hora, me sale: hh':'mm':'ss.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar