Pregunte en voz alta: ¿Cómo convertir la hora actual de la ubicación actual en una cadena en C en Linux? ¡Por favor responde! ! ! Gracias ~~
Archivo de encabezado # include
Defina la función char * asctime(conststructm * time ptr);
Esta función muestra la estructura tm apuntada por asctime() al parámetro timeptr Convierte la información en representaciones de fecha y hora utilizadas en el mundo real y devuelve el resultado como una cadena. Esta función ha convertido de zona horaria a hora local, el formato de cadena es: "miércoles 30 de junio 21:49:08 1993\n".
Esta cadena puede destruirse si las funciones de fecha y hora asociadas se llaman nuevamente con el valor de retorno. Esta función se diferencia de ctime en que los parámetros pasados tienen una estructura diferente.
Descripción adicional Devuelve una cadena que indica la fecha y hora local actual.
Ejemplos # incluyen
main()
{
time_t time;
time(& amptimep) ;
printf("%s ",ASC time(gmtime(& time p)));
}
Ejecutado el 28 de Octubre de 2000 Domingo 02 :10:06.
Ctime (fecha y hora expresadas en formato de cadena) funciones relacionadas time, asctime, gmtime, localtime.
Archivo de encabezado #include
Defina la función char * ctime(const time _ t * time p);
La descripción de la función ctime() apunta al parámetro timep La información de la estructura time_t se convierte en representaciones de fecha y hora utilizadas en el mundo real y el resultado se devuelve como una cadena. Esta función ha convertido de zona horaria a hora local, el formato de cadena es "miércoles 30 de junio 21:49:08 1993\n". La cadena puede destruirse si se vuelve a llamar a la función de fecha y hora asociada.
El valor de retorno devuelve una cadena que representa la fecha y hora local actuales.
Ejemplos #include
main()
{
time_t time;
time(& amptimep) ;
printf("%s ", ctime(& time p));
}
Ejecutado el sábado 28 de octubre de 2000 a las 10:12: 05.
Funciones relacionadas con Gettimeofday time, ctime, ftime, settimeofday.
Archivo de encabezado # include
# include & ltunistd.h & gt
Definir función int gettime of day(struct time val * TV, struct timezone * tz ).
Descripción de la función gettimeofday() devuelve la hora actual usando la estructura indicada por tv, y la información de la zona horaria local se coloca en la estructura indicada por tz.
La estructura Timeval se define como:
Estructura intervalo de tiempo {
tv largo _ seg/*segundos*/
tv largo _ usec /*Microsegundos*/
};
La estructura de zona horaria se define de la siguiente manera:
Estructura de zona horaria{
int tz _ minuteswest/* ¿Cuántos minutos hay de diferencia entre la hora media de Greenwich y la hora media de Greenwich*/
int tz _ dsttime/*Estado del horario de verano*/
};
Arriba Ambas estructuras están definidas en /usr/include/sys/time.h. El estado representado por tz_dsttime es el siguiente
DST_NONE /*No usar*/
DST_USA /* USA */
Dst_austAustralia/*Australia* /
DST_WET /*Europa Occidental*/
DST_MET /*Europa Central*/
Horario de verano EET/*Europa del Este*/
DST_CAN /*Canadá* /
DST_GB /*Reino Unido*/
DST_RUM /*Rumania*/
DST_TUR /*Turquía*/
DST_AUTALT /* Australia (después de 1986)*/
Si tiene éxito, el valor de retorno es 0; si falla, el valor de retorno es -1 y el código de error se almacena en errno. Explicación complementaria: el espacio de memoria señalado por los punteros predeterminados tv y tz excede el permiso de acceso.
Ejemplo #include
# include & ltunistd.h & gt
main(){
TV estructurada;
struct timezonetz;
gettimeofday(&tv&tz);
printf("TV_sec;%d\n",tv,.tv_ sec);
printf(" TV _ usec; %d\n ", TV . TV _ usec
printf(" tz _ minutos oeste; %d\n " , tz . tz _ minutos oeste) ;
printf("tz_dsttime, %d\n ", tz . tz _ dst time
}
Ejecutar tv_sec: 974857339.
tv_usec:136996
tz_minutoswest:-540
tz_dsttime:0
Gmtime (obtener la hora y fecha actuales) función relacionada con el tiempo , hora asc, hora c, hora local.
Archivo de encabezado #include
Defina la función struct TM * GM time(const time _ t * time p);
Descripción de la función gmtime() parametrizará el tiempo La información en la estructura time_t a la que apunta po se convierte en la representación de fecha y hora utilizada en el mundo real, y luego el resultado se devuelve a través de la estructura tm.
Estructura tm se define como
Estructura Marca
{
int tm _ sec
int tm _ min
int tm_hora
int tm_mdía
int tm_mon
int tm_año
int tm _ wday
int tm _ yday
int tm _ isdst
};
Int tm_sec representa el segundo actual , normal El rango es 0-59, pero se permiten 61 segundos.
Int tm_min representa la puntuación actual, que va de 0 a 59.
Int tm_hour La hora que comienza a partir de la medianoche y va de 0 a 23.
Int tm_mday El número de días del mes actual, que oscila entre 01 y 31.
Int tm_mon representa el mes actual, contando desde enero, y va del 0 al 11.
Int tm _ año años desde.
Int tm_wday El número de días de la semana a partir del lunes, que van de 0 a 6.
Int tm_yday es el número de días de este año 65438 + 1 de octubre, que van de 0 a 365.
int tm_isdst indicador de horario de verano
La hora y fecha devueltas por esta función son hora UTC sin conversión de zona horaria.
Valor de retorno La estructura de retorno tm representa la hora UTC actual.
Ejemplos # incluyen
main(){
char *wday[]={"Dom","Lunes","Martes","Miércoles" , " Jueves ", " Viernes ", " Sábado " };
time_t time
struct TM * p
Hora (& amptimep); /p>
p=gmtime. timep);
printf("%d%d%d", (190p->tm_year), (1+p->tm_mon), p->TM_mday) ;
printf(" % % d; % d; %d\n ",wday[p->tm_wday],p->tm_hour,p->tm_min,p ->TM_sec);
}
Ejecutado el sábado 28/10/2000 8:15:38.
Funciones relacionadas con hora local (obtener fecha y hora actuales locales) hora, asctime, ctime, gmtime
Archivo de encabezado #include
Definir función estructura TM * hora local (const time_t * time p);
Esta función explica que localtime() convierte la información en la estructura time_t señalada por el parámetro timep en el método de representación de fecha y hora utilizado en el mundo real, y luego pasa la estructura tm Devuelve resultados. Para conocer la definición de estructura tm, consulte gmtime(). La hora y la fecha devueltas por esta función se han convertido a la zona horaria local.
El valor de retorno devuelve la estructura tm que representa la hora local actual.
Ejemplos # incluyen
main(){
char *wday[]={"dom","lun","mar","miércoles" , " Jueves ", " Viernes ", " Sábado " };
time_t time
struct TM * p; p>
p=hora local.
timep);/*Obtener la hora local*/
printf ("%d%d%d ", (190p->;tm_year), (l+p-& gt;tm_mon), p ->TM_mday);
printf("%s%d:%d:%d\n ",wday[p->tm_wday],p->tm_hour, p-> tm_min, p->TM_sec);
}
Ejecutado el 28/10/2000 sábado 11:12:22.
Mktime (convierte datos de estructura de tiempo en segundos transcurridos) funciones relacionadas con tiempo, asctime, gmtime, localtime.
Archivo de encabezado #include
Defina la función time_tmktime(strkutm * time ptr);
Descripción de la función: mktime() se utiliza para cambiar el parámetro timeptr indicado por Los datos de la estructura tm se convierten en el número de segundos transcurridos desde 1970 d.C. 65438 + 1:00 de octubre hasta la hora UTC.
Devuelve el número de segundos transcurridos.
Ejemplo/*Usa time() para obtener el tiempo (segundos) y usa localtime().
Convierta a struct tm y luego use mktine() para convertir a los segundos originales*/
# include & lttime.h & gt
main( )
{
tiempo_t tiempo
strcut TM * p
Tiempo (& amptimep); >printf ("hora() : %d \n ", horap);
p=horalocal. timep);
time p = mktime(p);
printf(" time()->hora local()->mktime():%d\ n " , hora p);
}
Tiempo de ejecución():974943297
hora()-& gt; hora local()-& gt; ):974943297
Funciones relacionadas con Settimeofday time, ctime, ftime, gettimeofday.
Archivo de encabezado # include
# include & ltunistd.h & gt
Definir función int settime of day(const struct time val * TV, const struct time zona * tz);
Descripción de la función: settimeofday() establece la hora actual en la información de estructura indicada por tv y establece la información de la zona horaria local en la estructura indicada por tz. Consulte gettimeofday() para obtener una descripción detallada. Tenga en cuenta que solo los privilegios de root pueden utilizar esta función para modificar la hora.
Si tiene éxito, el valor de retorno es 0; si falla, el valor de retorno es -1 y el código de error se almacena en errno.
Código de error EPERM No se llamó a settimeofday() con permisos de root y los permisos eran insuficientes.
EINVAL La zona horaria o algunos datos son incorrectos, por lo que no se puede configurar la hora correctamente.
Funciones relacionadas con la hora (obtener la hora actual) ctime, ftime, gettimeofday
Archivo de encabezado #include
Definir la función time _ t time(time _ t * t );
Descripción de la función: Esta función devolverá el número de segundos que han transcurrido desde las 0:00:00 y las 0:00 hora UTC de 1970 1 d.C.
Si t no es un puntero nulo, esta función también guardará el valor de retorno en la memoria a la que apunta el puntero t.
El valor de retorno devuelve el número de segundos si tiene éxito y el valor de ((time_t)-1) si falla. La causa del error se almacena en errno.
Ejemplos #include
Mian()
{
int segundos = tiempo((tiempo _ t *)NULL);
printf("%d\n ", segundos);
}
Ejecute 9.73E+08.
Gracias. Las anteriores son funciones relacionadas con el tiempo en Linux. Espero que puedan ayudar a los amigos que lo necesiten. De hecho, muchos problemas se complican con el esfuerzo de todos y, en realidad, no son difíciles.