Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 ); // 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 a ser convertido.
Valor retornado
Um ponteiro para o resultado da cadeia de caracteres.
NULL é devolvido quando:
sourceTimerepresentar uma data anterior à meia-noite de 1º de janeiro de 1970, UTC.Você usa
_ctime32ou_wctime32, esourceTimerepresenta uma data após 23:59:59 18 de janeiro de 2038, UTC.Você usa
_ctime64ou_wctime64, esourceTimerepresenta 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 _ctime32. Não recomendamos que você o use, pois 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) de 1º de janeiro de 1970, UTC (tempo universal coordenado). 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 as timefunções , _ftimee localtime . 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 sourceTime valor for negativo, essas funções invocarão o manipulador de parâmetro 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, confira Estado global no CRT.
Observação
Quando você usa o SDK do Windows versão 10.0.26100.6901 e o Visual Studio 2026 ou posterior juntos, ctime e _wctime não são mais static inline (vinculação interna). Em vez disso, eles são inline (vinculaçã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
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( <ime );
printf( "The time is %s\n", _ctime64( <ime ) ); // 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