Compartilhar via


ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

Converta um valor temporal em uma cadeia de caracteres e ajuste as configurações de fuso horário local. Estão disponíveis versões mais seguras dessas funções. Para obter informações, confira ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s.

Sintaxe

char *ctime( const time_t *sourceTime );
char *_ctime32( const __time32_t *sourceTime );
char *_ctime64( const __time64_t *sourceTime );
wchar_t *_wctime( const time_t *sourceTime );
wchar_t *_wctime32( const __time32_t *sourceTime );
wchar_t *_wctime64( const __time64_t *sourceTime );

Parâmetros

sourceTime
Ponteiro para o tempo armazenado a ser convertido.

Retornar valor

Um ponteiro para o resultado da cadeia de caracteres. NULL é devolvido quando:

  • sourceTime representar uma data anterior à meia-noite de 1º de janeiro de 1970, UTC.

  • Você usa _ctime32 ou _wctime32, e sourceTime representa uma data após 23:59:59 18 de janeiro de 2038, UTC.

  • Você usa _ctime64 ou _wctime64, e sourceTime representa uma data após 23:59:59, 31 de dezembro de 3000, UTC.

ctime é uma função embutida que é avaliada como _ctime64 e time_t é equivalente a __time64_t. Se você precisar forçar o compilador a interpretar time_t como o time_t antigo de 32 bits, poderá definir _USE_32BIT_TIME_T. Essa macro faz com que ctime a avaliação seja feita para _ctime32. Não recomendamos que você o use, porque seu aplicativo pode falhar após 18 de janeiro de 2038 e não é permitido em plataformas de 64 bits.

Comentários

A ctime função converte um valor de tempo armazenado como um time_t valor em uma cadeia de caracteres. O sourceTime valor é normalmente obtido de uma chamada para time, que retorna o número de segundos decorridos desde a meia-noite (00:00:00), 1 de janeiro de 1970, tempo universal coordenado (UTC). A cadeia de caracteres do valor retornado contém exatamente 26 caracteres e tem o formato:

Wed Jan 02 02:03:55 1980\n\0

Um relógio de 24 horas é usado. Todos os campos têm uma largura constante. O caractere de nova linha ('\n') e o caractere nulo ('\0') ocupam as duas últimas posições da cadeia de caracteres.

A cadeia de caracteres convertida também é ajustada de acordo com as configurações de fuso horário local. Para obter informações sobre como configurar a hora local, consulte o time, _ftimee localtime funções. Para obter detalhes sobre como definir o ambiente de fuso horário e as variáveis globais, consulte a _tzset função.

Uma chamada a ctime modifica o único buffer alocado estaticamente usado pelas funções gmtime e localtime. Cada chamada a uma dessas rotinas destrói o resultado da chamada anterior. ctime compartilha um buffer estático com a função asctime. Portanto, uma chamada a ctime destrói os resultados das chamadas anteriores a asctime, localtime ou gmtime.

_wctime e _wctime64 são a versão de caractere largo de ctime e _ctime64, retornando um ponteiro para a cadeia de caracteres largos. Caso contrário, _ctime64, _wctime e _wctime64 se comportarão de modo idêntico a ctime.

Essas funções validam seus parâmetros. Se sourceTime for um ponteiro nulo ou se o valor for negativo, essas funções invocarão o sourceTime manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, essas funções retornarão NULL e definirão errno como EINVAL.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tctime ctime ctime _wctime
_tctime32 _ctime32 _ctime32 _wctime32
_tctime64 _ctime64 _ctime64 _wctime64

Requisitos

Rotina Cabeçalho necessário
ctime <time.h>
_ctime32 <time.h>
_ctime64 <time.h>
_wctime <time.h> ou <wchar.h>
_wctime32 <time.h> ou <wchar.h>
_wctime64 <time.h> ou <wchar.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// crt_ctime64.c
// compile with: /W3
/* This program gets the current
* time in _time64_t form, then uses ctime to
* display the time in string form.
*/

#include <time.h>
#include <stdio.h>

int main( void )
{
   __time64_t ltime;

   _time64( &ltime );
   printf( "The time is %s\n", _ctime64( &ltime ) ); // C4996
   // Note: _ctime64 is deprecated; consider using _ctime64_s
}
The time is Wed Feb 13 16:04:43 2002

Confira também

Gerenciamento de tempo
asctime, _wasctime
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64