Strftime () funkcija C ++ pārveido norādīto datumu un laiku no noteiktā kalendāra laika laika uz nulles pārtrauktu daudzbaitu rakstzīmju virkni atbilstoši formāta virknei.
Strftime () funkcija ir definēta galvenes failā.
strftime () prototips
size_t strftime (char * str, size_t count, const char * formāts, const tm * laiks);
Funkcijai strftime () nepieciešami 4 argumenti: str, skaits, formāts un laiks.
Datuma un laika informācija, uz kuru norāda laiks, tiek pārveidota par daudzbitu rakstzīmi, kas izbeigta ar nulli, pamatojoties uz formāta vērtību, un tiek saglabāta masīvā, uz kuru norāda str. Tiek rakstīti ne vairāk kā skaitīšanas baiti.
strftime () parametri
- str: Rakstzīmju masīva pirmā elementa rādītājs, lai saglabātu rezultātu.
- skaits: maksimālais rakstāmo baitu skaits.
- formāts: rādītājs ar nulli izbeigtu daudzbaitu rakstzīmju virkni, kas norāda pārveidošanas formātu. Formāta virkne sastāv no konversijas specifikatora (sākot ar% un pēc izvēles sekojot E vai O) un citām parastajām rakstzīmēm.
Parastās rakstzīmes, ieskaitot beigu nulles rakstzīmi, tiek kopētas tāpat kā izvades virknē. strftime () formāta specifikatoriReklāmguvumu specifikators Apraksts Izmantotie lauki % Raksta rakstzīmi% n Raksta newline raksturu t Raksta horizontālās cilnes rakstzīmi Gads Jā Raksta 4 ciparus gadā, piemēram, 2011 tm_gads EY Vietējā alternatīvajā attēlojumā raksta 4 ciparus gadā tm_gads y Raksta pēdējos 2 ciparus gadā, diapazonu (00, 99) tm_gads Oy Raksta gada pēdējos 2 ciparus lokalizācijas alternatīvajā attēlojumā tm_gads Ey Raksta gadu kā kompensāciju no lokalizācijas alternatīvā kalendārā perioda,% EC (atkarīgs no lokalizācijas) tm_gads C Raksta gada pirmos 2 ciparus, diapazonu (00,99) tm_gads EK Vietējā alternatīvajā attēlojumā raksta bāzes gada (perioda) nosaukumu, tm_gads G Raksta ISO 8601 nedēļu balstītu gadu, ti, gadu, kurā ir norādītā nedēļa. tm_gads, tm_wday, tm_yday g Raksta ISO 8601 pēdējos 2 ciparus, pamatojoties uz nedēļu, ti, gadu, kurā ir norādītā nedēļa (diapazons (00,99)). tm_gads, tm_wday, tm_yday Mēnesis b Raksta saīsinātu mēneša nosaukumu, piem., Janv tm_mon h Tas pats, kas b tm_mon B Raksta pilnu mēneša nosaukumu, piemēram, janvāris tm_mon m Mēnesis tiek ierakstīts kā decimālskaitlis, diapazons (01,12) tm_mon Om Raksta mēnesi, izmantojot lokalizācijas alternatīvo ciparu sistēmu tm_mon Nedēļa U Raksta gada nedēļu kā decimālu skaitli no 00 līdz 53 (svētdiena ir nedēļas pirmā diena) tm_gads, tm_wday, tm_yday OU Raksta gada nedēļu kā% U, izmantojot alternatīvo ciparu sistēmu tm_gads, tm_wday, tm_yday W Raksta gada nedēļu kā decimāldaļu no 00 līdz 53 (pirmdiena ir nedēļas pirmā diena) tm_gads, tm_wday, tm_yday OW Raksta gada nedēļu kā% W, izmantojot alternatīvo ciparu sistēmu tm_gads, tm_wday, tm_yday V Raksta ISO 8601 gada nedēļu (diapazons (01,53)). tm_gads, tm_wday, tm_yday OV Raksta gada nedēļu kā% V, izmantojot alternatīvo ciparu sistēmu tm_gads, tm_wday, tm_yday Gada / mēneša diena j Raksta gada dienu kā decimālu skaitli, diapazonu (001 366) tm_yday d Raksta mēneša dienu kā decimālu skaitli, diapazonu (01,31) tm_mday Od Raksta mēneša dienu kā% d, izmantojot alternatīvo ciparu sistēmu tm_mday e Raksta mēneša dienu kā decimāldaļu skaitli, diapazonu (1,31) tm_mday Oe Raksta mēneša dienu kā% e, izmantojot alternatīvo ciparu sistēmu tm_mday Nedēļas diena a Raksta saīsinātu darba dienas nosaukumu, piemēram, piektdiena (atkarīgs no lokalizācijas) tm_wday A Raksta pilnu darba dienas nosaukumu, piemēram, piektdienu (atkarīgs no lokalizācijas) tm_wday w Darba dienu raksta kā decimāldaļu, diapazonu (0–6) (svētdiena ir 0) tm_wday Ow Darba dienu raksta kā% w, izmantojot alternatīvo ciparu sistēmu tm_wday u Darba dienu raksta kā ciparu aiz komata, kur pirmdiena ir 1 (ISO 8601 formāts), diapazons (1–7) tm_wday Ou Darba dienu raksta kā% u, izmantojot alternatīvo ciparu sistēmu tm_wday Stunda, minūte, sekunde H Stundu raksta kā decimāldaļu skaitli, diapazonu (00,23) tm_stunda OH Stundu raksta kā% H, izmantojot alternatīvo ciparu sistēmu tm_stunda Es Stundu raksta kā decimāldaļu skaitli, diapazonu (01,12) tm_stunda OI Stundu raksta kā% I, izmantojot alternatīvo ciparu sistēmu tm_stunda M Uzraksta minūti kā decimālskaitli, diapazonu (00,59) tm_min OM Uzraksta minūti kā% M, izmantojot alternatīvo ciparu sistēmu tm_min S Otrais raksta kā decimālskaitli, diapazons (00,60) tm_sek OS Otro reizi raksta kā% S, izmantojot alternatīvo ciparu sistēmu tm_sek Cits c Raksta standarta datuma un laika virkni, piemēram, 2010. gada 17. oktobra 04:41:13 (atkarīgs no lokalizācijas) visi Ec Raksta lokalizācijas alternatīvo datuma un laika virkni visi x Raksta lokalizētu datuma attēlojumu (atkarīgs no lokalizācijas) visi Piem Raksta lokalizācijas alternatīvo datuma attēlojumu visi X Raksta lokalizētu laika attēlojumu (atkarīgs no lokalizācijas) visi EX Raksta lokalizācijas alternatīvo laika attēlojumu visi D Ekvivalents "% m /% d /% y" tm_mon, tm_mday, tm_year F Ekvivalents "% Y-% m-% d" tm_mon, tm_mday, tm_year r Raksta lokalizētu 12 stundu pulksteņa laiku tm_hour, tm_min, tm_sek R Ekvivalents "% H:% M" tm_hour, tm_min T Ekvivalents "% H:% M:% S tm_hour, tm_min, tm_sek P Raksta lokalizētu plkst. Vai plkst. (Atkarīgs no lokalizācijas) tm_stunda z raksta nobīdi no UTC ISO 8601 formātā (piemēram, -0545) vai bez rakstzīmēm, ja nav pieejama laika joslas informācija tm_isdst Z Raksta laika joslas nosaukumu vai saīsinājumu vai neko, ja laika joslas informācija nav pieejama (atkarīgs no lokalizācijas) tm_isdst - laiks: konvertējamā informācija par datumu un laiku.
strftime () Atgriežamā vērtība
- Pēc panākumiem funkcija strftime () atgriež rakstzīmju masīvā ierakstīto baitu skaitu, uz kuru norāda str, neietverot beigu ' 0'.
- Ja skaits tika sasniegts, pirms visu virkni varēja saglabāt, 0 tiek atgriezts un saturs nav definēts.
Piemērs: Kā darbojas strftime () funkcija?
#include #include using namespace std; int main() ( time_t curr_time; tm * curr_tm; char date_string(100); char time_string(100); time(&curr_time); curr_tm = localtime(&curr_time); strftime(date_string, 50, "Today is %B %d, %Y", curr_tm); strftime(time_string, 50, "Current time is %T", curr_tm); cout << date_string << endl; cout << time_string << endl; return 0; )
Palaidot programmu, izeja būs:
Šodien ir 2017. gada 21. aprīlis. Pašreizējais laiks ir 11:20:42