Udostępnij za pośrednictwem


ctime, , _ctime32, _ctime64, _wctime, , _wctime32_wctime64

Przekonwertuj wartość czasu na ciąg i dostosuj ustawienia lokalnej strefy czasowej. Dostępne są bezpieczniejsze wersje tych funkcji; zobacz , , _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s.ctime_s

Składnia

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 );

Parametry

sourceTime
Wskaźnik do zapisanego czasu do przekonwertowania.

Wartość zwracana

Wskaźnik do wyniku ciągu znaków. NULL jest zwracany, gdy:

  • sourceTime reprezentuje datę przed północą, 1 stycznia 1970, UTC.

  • Używasz wartości _ctime32 lub _wctime32, i sourceTime reprezentuje datę po 23:59:59 stycznia 18, 2038, UTC.

  • Używasz wartości _ctime64 lub _wctime64i sourceTime reprezentuje datę po 23:59:59, 31 grudnia 3000, UTC.

ctime jest funkcją śródliniową, która oblicza wartość _ctime64, i time_t jest równoważna funkcji __time64_t. Jeśli musisz wymusić, aby kompilator interpretował time_t jako stary 32-bitowy time_telement , możesz zdefiniować element _USE_32BIT_TIME_T. To makro powoduje ctime ocenę wartości ._ctime32 Nie zalecamy jej używania, ponieważ aplikacja może zakończyć się niepowodzeniem po 18 stycznia 2038 r. i nie jest dozwolona na platformach 64-bitowych.

Uwagi

Funkcja ctime konwertuje wartość czasu przechowywaną time_t jako wartość na ciąg znaków. Wartość sourceTime jest zwykle uzyskiwana z wywołania metody time, która zwraca liczbę sekund, które upłynęły od północy (00:00:00), 1 stycznia 1970 r. skoordynowany uniwersalny czas (UTC). Ciąg wartości zwracanej zawiera dokładnie 26 znaków i ma postać:

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

Jest używany zegar 24-godzinny. Wszystkie pola mają stałą szerokość. Znak nowego wiersza ('\n') i znak null ('\0') zajmują ostatnie dwa pozycje ciągu.

Przekonwertowany ciąg znaków jest również dostosowywany zgodnie z ustawieniami lokalnej strefy czasowej. Aby uzyskać informacje na temat konfigurowania czasu lokalnego, zobacz timefunkcje , _ftimei localtime . Aby uzyskać szczegółowe informacje na temat definiowania środowiska strefy czasowej i zmiennych globalnych, zobacz _tzset funkcję .

Wywołanie modyfikuje ctime pojedynczy statycznie przydzielony bufor używany przez gmtime funkcje i localtime . Każde wywołanie jednej z tych procedur niszczy wynik poprzedniego wywołania. ctime współudzieli bufor statyczny z funkcją asctime . W związku z tym wywołanie w celu ctime zniszczenia wyników dowolnego poprzedniego wywołania metody asctime, localtimelub gmtime.

_wctimei są wersją szerokoznakową ctime i _ctime64_wctime64 ; zwraca wskaźnik do ciągu o szerokim znaku. W przeciwnym razie , _ctime64_wctimei _wctime64 zachowuje się identycznie z ctime.

Te funkcje weryfikują swoje parametry. Jeśli sourceTime jest wskaźnikiem o wartości null lub jeśli sourceTime wartość jest ujemna, te funkcje wywołują nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcje zwracają NULL i ustawiają wartość EINVALerrno .

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura TCHAR.H _UNICODE i _MBCS niezdefiniowane _MBCS zdefiniowany _UNICODE zdefiniowany
_tctime ctime ctime _wctime
_tctime32 _ctime32 _ctime32 _wctime32
_tctime64 _ctime64 _ctime64 _wctime64

Wymagania

Procedura Wymagany nagłówek
ctime <time.h>
_ctime32 <time.h>
_ctime64 <time.h>
_wctime <time.h> lub <wchar.h>
_wctime32 <time.h> lub <wchar.h>
_wctime64 <time.h> lub <wchar.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

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

Zobacz też

Zarządzanie czasem
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