Sintaxe
int gettimeofday (struct timeval *tp, folha de estrutura *tz)O gettimeofday () A função é definida em sys/tempo.h arquivo de cabeçalho.
Argumentos
Esta função leva dois argumentos:
O 1st argumento aponta para o Timeval estrutura. O Timeval estrutura é declarada como abaixo em sys/tempo.h arquivo de cabeçalho :
struct timevalA estrutura da estrutura do tempo representa um tempo de calendário. Tem dois membros:
O 2nd argumento aponta para o fuso horário estrutura. Normalmente deve ser definido como nulo porque Fuzão horário de estrutura é obsoleto. Este argumento é apenas para compatibilidade com versões anteriores.
Valores de retorno
No sucesso, o gettimeofday () retornar 0, para falha, a função retorna -1.
Simples, pegue tempo e impressão
#incluirSaída:
Aqui, sys/tempo.h foi incluído para gettimeofday () Função e estrutura TimeVal. O gettimeofday () Função Defina o tempo de estrutura do tempo no tempo (current_time). TV_SEC é o número integral de segundos decorridos desde o início do UNIX Epoch, Na meia -noite UTC em 1 de janeiro de 1970 e TV_USEC é um número adicional de microssegundos decorridos de TV_SEC. Se você executar o programa, você deverá ver a saída. Cada vez que você executa o programa, a saída muda.
Erro de argumento nulo
#incluirSaída:
Neste exemplo, mostra que o primeiro argumento do gettimeofday () função não deve ser nula. O aviso de compilação virá se o primeiro argumento for nulo.
Formatando o exemplo atual do tempo
#incluirSaída:
Neste exemplo, mostra como imprimir a data e a hora em formato diferente. Não é muito fácil representar datas do valor de retorno de gettimeofday () função . Aqui, horário local() e strftime () As funções são usadas para representar bem o valor de retorno de gettimeofday ().
O horário local() a função leva um argumento, que é uma referência a um ponteiro do TV_SEC Campo de estrutura timeval e retorna uma referência a um ponteiro de um estrutura tm objeto.
O strftime () a função gerará uma sequência personalizada e formatada, mostrando a data e a hora do estrutura tm ponteiro. Especificadores de formato são usados para exibição formatada. Por exemplo, a sequência do formato “%d-%m-%y%h:%m:%s” Especifica a data e a hora neste formulário:
14-04-2020 13:09:42A seguir estão os especificadores de conversão, podem ser usados para exibição formatada:
Especificador | Significado |
%a | O nome abreviado do dia da semana, de acordo com o local atual. |
%A | O nome do dia da semana de acordo com o local atual. |
%b | Nome do mês abreviado, conforme o local atual. |
%B | Nome do mês inteiro conforme o local atual. |
%c | A representação preferida de data e hora para o local atual. |
%d | Como um número decimal para o dia do mês (intervalo de 01 - 31). |
%H | Usando 24 -HRs (variação 00 - 23) até a hora como número decimal. |
%EU | Usando 12 hrs (variação 00 - 23) até a hora como número decimal. |
%j | Como um número decimal para o dia do ano (intervalo 001-366). |
%m | Como um número decimal para o mês (intervalo de 01 - 12). |
%M | O número decimal do minuto. |
%p | Com base no valor do tempo especificado, 'AM' ou 'PM' ou nas seqüências equivalentes para o local atual. |
%S | O número decimal do segundo. |
%x | Representação preferida da data para o local atual, mas sem tempo. |
%X | Representação preferida do tempo para o local atual, mas sem data. |
%y | O ano é decimal, mas sem século (varia de 00 - 99). |
%Y | O ano é decimal, incluindo o século. |
%Z | O fuso horário. |
Usando gettimeofday para medir o tempo de execução do programa
#incluirSaída:
Este exemplo mostra que como gettimeofday () A função pode ser usada para o cálculo do tempo de execução de um programa.
Conclusão
Dessa forma, o gettimeofday () A função pode ser usada no Linux. Para portar o código existente, o gettimeofday () a função pode ser usada, mas em novo código, não deve ser usado. clock_gettime () a função pode ser usada em vez de gettimeofday ().