En esto Pista de Linux Artículo, explicaremos cómo usar ascTime () Para recuperar los datos de tiempo del calendario del sistema y convertirlos en una cadena. Exploraremos la descripción teórica de la estructura de estos datos TM, la sintaxis de la función y sus argumentos de entrada y salida junto con los tipos de datos que cada uno de ellos admite. Luego implementaremos el uso de esta función con ejemplos prácticos utilizando fragmentos e imágenes de código.
Sintaxis de función ascTime () en lenguaje C
char * str ascTime (const struct tm * tm_ptr);Descripción de la función ascTime () en el idioma C
El ascTime () la función recupera la información de Struct TM que apunta por el *tm_ptr puntero, lo convierte en una cadena y devuelve su puntero en *str.
El formato que devuelve esta función en la cadena de salida es el siguiente:
"Www mmm dd hh: mm: ss yyyy \ n \ 0"Ambos días y meses están representados por las tres primeras letras de sus nombres. Las fechas están representadas por dos dígitos para los días y meses y cuatro dígitos para el año. La cadena correspondiente a stri contiene un personaje especial \ n \ 0 al final.
El ascTime () la función y sus variables se definen en el "tiempo.encabezado. Para usarlos, tenemos que incluirlos en nuestro ".C "o".archivo h "de la siguiente manera:
#incluirCómo obtener la hora local en formato de cadena con la función ascTime () en el idioma C
En este ejemplo, le mostraremos paso a paso sobre cómo usar el ascTime () función para obtener los datos de tiempo de UNIX y tiempo local en la estructura TM y luego convertirlo en una cadena de caracteres legibles por humanos.
Como explicamos en la introducción, el tiempo del sistema se calcula a partir del tiempo UNIX. Por lo tanto, tenemos que obtener este tiempo primero con la función Time () en TIME_T.
En el siguiente fragmento, Time () obtiene el tiempo de Unix en U_time y lo imprime a la consola de comando:
#incluirLa siguiente imagen muestra la hora UNIX que se devuelve en U_time.
Una vez que obtenemos el tiempo de Unix, necesitamos convertir estos datos a un tiempo local o GMT y almacenarlos en la estructura entera, TM.
Cada entero en esta estructura representa segundos, minutos, horas, días, etc. Más tarde, daremos una descripción más detallada de las variables contenidas en esta estructura y cómo puede acceder a cada uno de ellos.
Los datos de la estructura TM pueden ser la hora local en la que obtiene con hora local() o el tiempo GMT con gmtime ().
Ambas funciones tienen el tiempo de Unix obtenido con U_time como argumento de entrada y devuelve el puntero TM_PTR de TM, que debemos definir de antemano como se muestra en lo siguiente:
#incluirEs importante tener en cuenta que tanto el tiempo de Unix en U_time y los datos de TM se actualizan cada vez que se llaman una de las funciones que recuperan estos datos. De lo contrario, los datos de la última llamada permanecen almacenados en sus variables.
En el siguiente fragmento de código, vemos cómo recuperar los datos de tiempo local en la estructura TM utilizando la función localTime (). Cuando llama a esta función, debe pasar el tiempo de Unix como argumento de entrada y el puntero a TM como argumento de salida.
tm_ptr = localtime (& u_time);De esta manera, ya convirtimos el tiempo de Unix a la hora local y lo almacenamos en la estructura TM. Solo necesitamos convertir estos datos en una cadena con ascTime ().
En el siguiente fragmento, vemos el código para obtener el tiempo de Unix. Calcule estos datos y guárdelo en tm struct. Luego, usamos ascTime () para convertir los enteros de la estructura que es apunta por *tm_ptr a las cuerdas.
Esta función devuelve la cadena que es apunta por *str_ptr En su argumento de salida.
Finalmente, emitimos la cadena obtenida a la consola de comando usando printf ().
#incluirLa siguiente imagen muestra el resultado de este código:
El Estructura tm
El TM estructura y el TIME_T y reloj_t Las variables son estructuras predefinidas y tipos de datos en el "tiempo.h "encabezado y se utilizan para almacenar los resultados que devuelven algunas de las funciones definidas allí.
Veamos ahora la estructura del entero TM y los nombres de las variables individuales que la componen:
structtmConclusión
En esto Pista de Linux Artículo, explicamos cómo obtener el tiempo del sistema Unix y convertirlo en una cadena de calendario con ascTime () paso a paso. También explicamos brevemente las funciones adicionales que se necesitan para procesar y recuperar estos datos, así como cómo manejar los datos de TM y TIME. Esperamos que hayas encontrado este artículo útil. Para más Pista de Linux Artículos sobre el idioma C, use el motor de búsqueda en nuestro sitio web.