long int clock(void)

Recebe: void (não recebe parâmetro nenhum).

Retorna: o valor, utilizando long int, da quantidade de pulsos de clock que o processador executou a partir do instante em que o programa foi inicializado até o momento em que clock() foi chamada. Caso seja necessário conhecer o tempo em segundos, e não em quantidade de pulsos de clock, então basta dividir o valor retornado por clock() por CLOCKS_PER_SEC.

Exemplo de uso da função:

//EXEMPLO CLOCK()

#include <studio.h>
#include <time.h>

int main() {
	printf("Pulsos de clock até o momento: %ld\n", clock());
	printf("printf Aleatório\n");
	printf("Mais um teste da quantidade de pulsos de clock: %ld\n",
			clock());

	return 0;
}


								
Saída do terminal:

			>./main
			Pulsos de clock até o momento: 1701
			printf aleatório
			Mais um teste da quantidade de pulsos de clock: 1797
								

time_t time(time_t *ponteiro_tempo)

Recebe: uma variável do tipo time_t, a passagem deve ser por referência.

Retorna: a data e hora do sistema e atribui esse valor à variável passada como parâmetro.

Exemplo de uso da função:

//EXEMPLO TIME()

#include <studio.h>
#include <time.h>

int main() {
	time_t tempo = time(NULL);
	printf(ctime(&tempo));

	time(&tempo);
	printf("Outro teste: %s", ctime(&tempo));

	return 0;
}
								
Saída do terminal:

			>./main
			Thu May 27 20:20:01 2021
			Outro teste: Thu May 27 20:20:01 2021
								

struct tm difftime(time_t tempo, time_t tempo0)

Recebe: duas variáveis do tipo time_t, por meio de passagem por valor.

Retorna: a diferença, em segundos, entre tempo e tempo0.

Exemplo de uso da função:

//EXEMPLO DIFFTIME()

#include <studio.h>
#include <time.h>
	
int main() {
	struct tm tempo, tempo0;

	tempo.tm_sec = 2*42;
	tempo.tm_min = 1;
	tempo.tm_hour = 1;
	tempo.tm_mday = 1;
	tempo.tm_mon = 1;
	tempo.tm_year = 1;
	tempo.tm_wday = 1;

	tempo0.tm_sec = 42;
	tempo0.tm_min = 1;
	tempo0.tm_hour = 1;
	tempo0.tm_mday = 1;
	tempo0.tm_mon = 1;
	tempo0.tm_year = 1;
	tempo0.tm_wday = 1;
	
	printf("Diferença: %lf\n",
			difftime(mktime(&tempo),
				mktime(&tempo0)));

	return 0;
}	
								
Saída do terminal:

			>./main
			Diferença: 42.000000
								

time_t mktime(struct tm *tempo)

Recebe: uma variável do tipo struct tm, com passagem por referência.

Retorna: os valores nos moldes do tipo time_t, fazendo uso dos valores presentes na variável do tipo struct tm.

Exemplo de uso da função:

//EXEMPLO MKTIME()

#include <studio.h>
#include <time.h>

int main() {
	struct tm tempo;

	tempo.tm_sec = 42;
	tempo.tm_min = 59;
	tempo.tm_hour = 23;
	tempo.tm_mday = 25;
	tempo.tm_mon = 12;
	tempo.tm_year = 10191 - 1900;
	tempo.tm_wday = 1;
	//tempo.tm_yday = ;
	//tempo.tm_isdst = ;
	
	time_t tempoConvertido = mktime(&tempo);
	
	printf(ctime(&tempoConvertido));

	return 0;
}
								
Saída do terminal:

			>./main
			Wed Jan 25 23:59:42 10192
								

string asctime(const struct tm *tp)

Recebe: uma variável do tipo struct tm, com passagem por referência.

Retorna: uma string, contendo os campos do struct tm fornecidos, formatados conforme o seguinte: 'Dia da semana' Mês Dia Hora:Minutos:Segundos Mês\n\0.

Exemplo de uso da função:

//EXEMPLO ASCTIME()

#include <studio.h>
#include <time.h>

int main() {
	struct tm tempo;

	tempo.tm_sec = 42;
	tempo.tm_min = 59;
	tempo.tm_hour = 23;
	tempo.tm_mday = 25;
	tempo.tm_mon = 12 - 1;
	tempo.tm_year = 10191 - 1900;
	tempo.tm_wday = 3;
	//tempo.tm_yday = ;
	//tempo.tm_isdst = ;
	
	printf(asctime(&tempo));

	return 0;
}	
								
Saída do terminal:

			>./main
			Wed Dec 25 23:59:42 10191
								

string ctime(const time * tempo)

Recebe: uma variável do tipo time_t, com passagem por referência.

Retorna: uma string, contendo os valores da variável *tempo, de tipo time_t, formatando as informações de data e hora conforme o seguinte: 'Dia da semana' Mês Dia Hora:Minutos:Segundos Mês\n\0.

Exemplo de uso da função:

//EXEMPLO CTIME()

#include <studio.h>
#include <time.h>

int main() {
	time_t tempo;
	time(&tempo);

	printf(ctime(&tempo));

	return 0;
}	
								
Saída do terminal:

			>./main
			Thu May 27 21:14:34 2021
								

struct tm gmtime(const time_t * tempo)

Recebe: uma variável do tipo time_t, com passagem por referência.

Retorna: um struct tm, com base nas informações contidas na variável de tipo time_t, a partir do qual é possível manipular data e hora com base em um fuso horário qualquer, uma vez que o struct retorna já modificada para interagir com manipulações de diferentes valores de UTC/GMT.

Exemplo de uso da função:

//EXEMPLO GMTIME()

#include <studio.h>
#include <time.h>

/* definindo o UTC/GMT do Brasil e do Japão */
#define BRT -3
#define JST 9

int main() {
	time_t tempo;
	time(&tempo);

	struct tm *tempo0 = gmtime(&tempo);

	printf("Horário no Japão: %02d:%02d:%02d\n"
					"Horário no Brasil: %02d:%02d:%02d\n",
					tempo0->tm_hour + JST, tempo0->tm_min,
					tempo0->tm_sec, tempo0->tm_hour + BRT,
					tempo0->tm_min, tempo0->tm_sec);

	return 0;
}

								
Saída do terminal:

			>./main
			Horário no Japão: 13:14:07
			Horário no Brasil: 01:14:07
								

struct tm localtime(const time_t *tempo)

Recebe: uma variável do tipo time_t, com passagem por referência.

Retorna: um struct tm que aponta/recebe as informações contidas em time_t.

Exemplo de uso da função:

//EXEMPLO LOCALTIME()

#include <studio.h>
#include <time.h>

int main() {
	time_t tempo;
	time(&tempo);
	struct tm *tempo0 = localtime(&tempo);

	printf("Horário atual: %02d:%02d:%02d\n",
					tempo0->tm_hour, tempo0->tm_min, tempo0->tm_sec);

	return 0;
}

								
Saída do terminal:

			>./main
			Horário atual: 01:19:11
								

struct tm strftime(char * string_armazena_data, size_t tamanho_da_string, const char* formato, const struct tm * tempo)

Recebe: um ponteiro do tipo char (a partir do qual é possível criar uma string de caracteres), a quantidade de espaço alocado para o ponteiro de caractere, o tipo do ponteiro (no caso, "%c", pois é do tipo char), uma variável do tipo struct tm que irá fornecer as informações sobre data e hora para criação da string.

Retorna: os valores presentes em *tempo para armazenar os valores em string_armazena_data, no formato de uma string com data e horário já formatados o seguinte: 'Dia da semana' Mês Dia Hora:Minutos:Segundos Mês\0.

Exemplo de uso da função:

//EXEMPLO STRFTIME()

#include <studio.h>
#include <time.h>
#include <stdlib.h>


int main() {
	time_t tempo;
	time(&tempo);

	struct tm *tempo0 = localtime(&tempo);

	char *string_armazena_data = (char *)malloc(100*sizeof(char));

	strftime(string_armazena_data, 100, "%c", tempo0);

	printf("%s\n", string_armazena_data);

	return 0;
}
								
Saída do terminal:

			>./main
			Fri May 28 19:51:07 2021