Partilhar via


ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

Converta um valor de hora em uma cadeia de caracteres e ajuste as configurações de fuso horário local. Estão disponíveis versões mais seguras destas funções; ver ctime_s, _ctime32_s, _ctime64_s, , _wctime_s, _wctime32_s. _wctime64_s

Sintaxe

char *ctime( const time_t *sourceTime ); // See note in remarks section about linkage
char *_ctime32( const __time32_t *sourceTime );
char *_ctime64( const __time64_t *sourceTime );
wchar_t *_wctime( const time_t *sourceTime ); // See note in remarks section about linkage
wchar_t *_wctime32( const __time32_t *sourceTime );
wchar_t *_wctime64( const __time64_t *sourceTime );

Parâmetros

sourceTime
Ponteiro para o tempo armazenado para converter.

Valor de retorno

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

  • sourceTime representa uma data antes da meia-noite, 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 antigo 32-bit time_t, você pode definir _USE_32BIT_TIME_T. Esta macro faz com que ctime se avalie a _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.

Observações

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 a partir 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 de retorno contém exatamente 26 caracteres e tem o formato:

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

É utilizado um relógio de 24 horas. 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 variáveis globais, consulte a _tzset função.

Uma chamada para ctime modificar o único buffer alocado gmtime estaticamente usado pelas funções e localtime . Cada chamada para uma dessas rotinas destrói o resultado da chamada anterior. ctime compartilha um buffer estático com a asctime função. Assim, uma chamada para ctime destruir os resultados de qualquer chamada anterior para asctime, localtimeou gmtime.

_wctimee _wctime64 são a versão de caracteres largos de e _ctime64; retornando um ponteiro para a cadeia de ctime caracteres largos. Caso contrário, _ctime64, _wctime, e _wctime64 comportar-se de forma idêntica a ctime.

Estas funções validam os seus parâmetros. Se sourceTime for um ponteiro nulo, ou se o sourceTime valor for negativo, essas funções invocarão o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, as funções retornarão NULL e serão definidas 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.

Observação

Quando você usa o Windows SDK versão 10.0.26100.6901 e Visual Studio 2026 ou posterior juntos, ctime e _wctime não são mais static inline (ligação interna). Em vez disso, eles são inline (ligação externa).
Para retornar ao comportamento anterior, #define _STATIC_INLINE_UCRT_FUNCTIONS=1 antes de incluir quaisquer cabeçalhos CRT. Por padrão, _STATIC_INLINE_UCRT_FUNCTIONS é definido como 0.
Essa alteração aumenta a conformidade do UCRT com o padrão C++ e melhora a compatibilidade com módulos C++.

Mapeamentos de rotina de texto genérico

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

Requerimentos

Rotina Cabeçalho obrigató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 mais informações sobre compatibilidade, consulte Compatibilidade.

Example

// 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

Consulte também

Gestão do 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