asctime
, _wasctime
Převede časovou tm
strukturu na řetězec znaků. K dispozici jsou bezpečnější verze těchto funkcí; viz asctime_s
, _wasctime_s
.
Syntaxe
char *asctime(
const struct tm *timeptr
);
wchar_t *_wasctime(
const struct tm *timeptr
);
Parametry
timeptr
Struktura času a data
Vrácená hodnota
asctime
vrátí ukazatel na výsledek řetězce znaků; _wasctime
vrátí ukazatel na výsledek řetězce širokého znaku. Žádná návratová hodnota chyby neexistuje.
Poznámky
K dispozici jsou bezpečnější verze těchto funkcí; viz asctime_s
, _wasctime_s
.
Funkce asctime
převede čas uložený jako strukturu na řetězec znaků. Hodnota timeptr
se obvykle získává z volání gmtime
nebo localtime
, které vrací ukazatel na strukturu definovanou tm
v time.H.
timeptr člen |
Hodnota |
---|---|
tm_hour |
Hodiny od půlnoci (0-23) |
tm_isdst |
Pozitivní, pokud se letní čas projeví; 0, pokud letní čas není v platnosti; negativní, pokud je stav letního času neznámý. Knihovna runtime jazyka C předpokládá pravidla USA pro implementaci výpočtu letního času (DST). |
tm_mday |
Den v měsíci (1–31) |
tm_min |
Minuty po hodině (0–59) |
tm_mon |
Měsíc (0–11; Leden = 0) |
tm_sec |
Sekundy po minutě (0–59) |
tm_wday |
Den v týdnu (0-6; Neděle = 0) |
tm_yday |
Den roku (0–365; 1. ledna = 0) |
tm_year |
Rok (aktuální rok minus 1900) |
Informace o konfiguraci místního času naleznete v tématu time
, _ftime
a localtime
funkce. Informace o definování prostředí časového pásma a globálních proměnných najdete v _tzset
této funkci.
Výsledek řetězce vytvořený asctime
pomocí přesně 26 znaků a má formulář Wed Jan 2 02:03:55 1980\n\0
. Používá se 24hodinový formát. Všechna pole mají konstantní šířku. Znak nového řádku a znak null zabírají poslední dvě pozice řetězce. asctime
používá jednu staticky přidělenou vyrovnávací paměť pro uložení návratového řetězce. Každé volání této funkce zničí výsledek předchozího volání.
_wasctime
je širokoznačná verze asctime
a jinak se chová stejně jako asctime
.
Tyto funkce ověřují své parametry. Pokud timeptr
je ukazatel null nebo pokud obsahuje hodnoty mimo rozsah, vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, funkce vrátí NULL
a nastaví errno
na EINVAL
.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
TCHAR.H rutina |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tasctime |
asctime |
asctime |
_wasctime |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
asctime |
<time.h> |
_wasctime |
<time.h> nebo <wchar.h> |
Příklad
Tento program umístí systémový čas do dlouhého celého čísla aclock
, přeloží ho do struktury newtime
a pak ho převede na řetězcový formulář pro výstup pomocí asctime
funkce.
// crt_asctime.c
// compile with: /W3
#include <time.h>
#include <stdio.h>
int main( void )
{
struct tm *newTime;
time_t szClock;
// Get time in seconds
time( &szClock );
// Convert time to struct tm form
newTime = localtime( &szClock );
// Print local time as a string.
printf_s( "Current date and time: %s", asctime( newTime ) ); // C4996
// Note: asctime is deprecated; consider using asctime_s instead
}
Current date and time: Sun Feb 3 11:38:58 2002
Viz také
Správa času
ctime
, _ctime32
, _ctime64
, _wctime
, , _wctime32
_wctime64
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
time
, , _time32
_time64
_tzset
asctime_s
, _wasctime_s