Quero obter a hora atual do meu sistema. Para isso estou usando o seguinte código em C:
time_t now;
struct tm *mytime = localtime(&now);
if ( strftime(buffer, sizeof buffer, "%X", mytime) )
{
printf("time1 = \"%s\"\n", buffer);
}
O problema é que esse código está dando algum tempo aleatório. Além disso, o tempo aleatório é diferente a cada vez. Eu quero a hora atual do meu sistema.
Respostas:
Copiado e colado daqui :
(basta adicionar "void" à lista de argumentos principais () para que funcione em C)
fonte
strptime
função em time.h para converter dechar *
parastruct tm
time_t
objeto como argumento paratime()
. ColocandoNULL
,0
, etc como o parâmetro trabalha para retornar o tempo atual.Inicialize sua
now
variável.A
localtime
função é usada para converter o valor de hora no passadotime_t
para umstruct tm
, ela não recupera realmente a hora do sistema.fonte
Jeito fácil:
fonte
#include <string.h>
Para estender a resposta de @mingos acima, escrevi a função abaixo para formatar meu tempo em um formato específico ([dd mm aaaa hh: mm: ss]).
Mais informações sobre
struct tm
podem ser encontradas aqui .fonte
fonte
rapazes, vocês podem usar esta função para obter a hora local atual. se você quiser gmtime, use a função gmtime em vez de localtime. Felicidades
fonte
Se você só precisa do tempo sem a data.
fonte
fonte
void main()
deveria serint main(void)
.caras, eu tenho uma nova maneira de obter a hora do sistema. embora seja longo e cheio de trabalhos bobos, desta forma você pode obter a hora do sistema em formato inteiro.
fonte