Función de tiempo(NULL) en C++

Zeeshan Afridi 12 octubre 2023
Función de tiempo(NULL) en C++

Este artículo discutirá la función time(NULL) en C++.

la función time(NULL) en C++

La función time() con un parámetro NULL, time(NULL), devuelve el tiempo actual del calendario en segundos desde el 1 de enero de 1970. Null es una constante incorporada cuyo valor es 0 y un puntero similar a 0 a menos que la CPU admita un patrón de bits especial para un puntero nulo.

Suponga que pasa un puntero a una variable time_t; esa variable apuntará a la hora actual. time_t es un tipo de datos en la biblioteca ISO C++ definido para almacenar y utilizar valores de tiempo del sistema.

Dichos tipos de valores se devuelven desde la función de biblioteca estándar time(). Se define en el archivo de cabecera time.h y es un entero largo sin signo, y su tamaño es de 8 bytes.

Código de ejemplo:

#include <time.h>

#include <iostream>

using namespace std;

int main() {
  time_t seconds;
  seconds = time(NULL);
  cout << "Time in seconds is = " << seconds << endl;
}

Producción :

Time in seconds is = 1650710906

Hemos definido una variable segundos del tipo de datos time_t y la inicializamos al valor de retorno de la función time(NULL). Esta función devolvió el tiempo en segundos desde el 1 de enero de 1970, e imprimimos el resultado al final.

Ahora, leer el tiempo en segundos puede no ser convenientemente comprensible para los humanos, por lo que debería haber algún mecanismo para convertir el tiempo en segundos en un formato comprensible. Y gracias a las bibliotecas de C++, tenemos una solución de la siguiente manera;

#include <time.h>

#include <iostream>

using namespace std;

int main() {
  time_t seconds;
  seconds = time(NULL);
  struct tm* local_time = localtime(&seconds);
  cout << "Time in seconds      " << seconds << endl;
  cout << "local time           " << asctime(local_time);
}

Producción :

Time in seconds   1650712161
local time      Sat Apr 23 16:09:21 2022

struct tm es una estructura incorporada en el archivo de encabezado time.h en lenguaje C/C++, y cada objeto contiene la fecha y la hora en la máquina. Podemos utilizar estos miembros de la estructura tm para personalizar nuestro código de la forma que queramos.

struct tm {
  int tm_sec;    // seconds,  ranges from 0 to 59
  int tm_min;    // minutes, ranges from 0 to 59
  int tm_hour;   // hours, ranges from 0 to 23
  int tm_mday;   // day of the month, ranges from 1 to 31
  int tm_mon;    // month, ranges from 0 to 11
  int tm_year;   // The number of years since 1900
  int tm_wday;   // day of the week, ranges from 0 to 6
  int tm_yday;   // day in the year, ranges from 0 to 365
  int tm_isdst;  // daylight saving time
};
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - C++ Function