Funktionen wcsftime () i C ++ konverterar det angivna datumet och tiden från en given kalendertid till en null-avslutad bred teckensträng enligt en formatsträng.
Funktionen wcsftime () definieras i rubrikfilen.
wcsftime () prototyp
size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);
Funktionen wcsftime () tar fyra argument: str, count, format och tid.
Datum- och tidsinformationen som pekas på av tid konverteras till en null-avslutad bred karaktär baserat på formatets värde och lagras i det breda array som str. Högst räknas byte.
wcsftime () Parametrar
- str: Pekare till det första elementet i den breda karaktärmatrisen för att lagra resultatet.
- count: Maximalt antal breda tecken att skriva.
- format: Pekare till en null-avslutad bred teckensträng som anger formatet för konvertering. Formatsträngen består av konverteringsspecifikator (börjar med% och valfritt följs av E eller O) och andra vanliga breda tecken.
De vanliga breda tecknen inklusive det avslutande noll breda tecknet kopieras som det är till den utgående bredsträngen. Formatspecifikationer för wcsftime ()Conversion Specifier Beskrivning Begagnade fält % Skriver karaktären% n Skriver newline karaktär t Skriver horisontell flik karaktär År Y Skriver fyra siffror per år, t.ex. 2011 tm_år EY Skriver fyra siffror per år i lokalens alternativa representation tm_år y Skriver de senaste 2 siffrorna i året, intervall (00, 99) tm_år Oy Skriver årets sista två siffror i lokalens alternativa representation tm_år Ey Skriver år som förskjutning från lokalens alternativa kalenderperiod% EC (språkberoende) tm_år C Skriver årets första 2 siffror, intervall (00,99) tm_år EG Skriver basårets (period) namn i lokalens alternativa representation, tm_år G Skriver ISO 8601 veckobaserat år, dvs. året som innehåller den angivna veckan. tm_year, tm_wday, tm_yday g Skriver de två sista siffrorna i ISO 8601 veckobaserat år, dvs. året som innehåller den angivna veckan (intervall (00,99)). tm_year, tm_wday, tm_yday Månad b Skriver förkortat månadsnamn, t.ex. jan tm_mon h Samma som b tm_mon B Skriver fullständigt månadsnamn, t.ex. januari tm_mon m Skriver månad som decimaltal, intervall (01,12) tm_mon Om Skriver månad med lokalens alternativa numeriska system tm_mon Vecka U Skriver årets vecka som ett decimaltal från 00 till 53 (söndag är veckans första dag) tm_year, tm_wday, tm_yday OU Skriver årets vecka som% U med hjälp av det alternativa numeriska systemet tm_year, tm_wday, tm_yday W Skriver årets vecka som ett decimaltal från 00 till 53 (måndag är den första dagen i veckan) tm_year, tm_wday, tm_yday AJ Skriver årets vecka som% W med det alternativa numeriska systemet tm_year, tm_wday, tm_yday V Skriver ISO 8601 vecka av året (intervall (01,53)). tm_year, tm_wday, tm_yday OV Skriver årets vecka, som% V, med det alternativa numeriska systemet tm_year, tm_wday, tm_yday Årets dag / månad j Skriver årets dag som ett decimaltal, intervall (001 366) tm_dag d Skriver månadsdagen som ett decimaltal, intervall (01,31) tm_mday Od Skriver dagen i månaden, som med% d, med det alternativa numeriska systemet tm_mday e Skriver månadsdagen som ett decimaltal, intervall (1,31) tm_mday Oe Skriver månadsdagen, som med% e, med det alternativa numeriska systemet tm_mday Veckodag a Skriver förkortat veckodagsnamn, t.ex. fre (språkberoende) tm_wday A Skriver hela veckodagens namn, t.ex. fredag (språkberoende) tm_wday w Skriver vardag som ett decimaltal, intervall (0-6) (söndag är 0) tm_wday Aj Skriver vardag som med% w, med hjälp av det alternativa numeriska systemet tm_wday u Skriver vardag som ett decimaltal, där måndag är 1 (ISO 8601-format), intervall (1-7) tm_wday Ou Skriver vardag som% u, med hjälp av det alternativa numeriska systemet tm_wday Timme, minut, sekund H Skriver timme som ett decimaltal, intervall (00,23) tm_hour ÅH Skriver timme som% H, med hjälp av det alternativa numeriska systemet tm_hour Jag Skriver timme som ett decimaltal, intervall (01,12) tm_hour OI Skriver timme som% I, med hjälp av det alternativa numeriska systemet tm_hour M Skriver minut som decimaltal, intervall (00,59) tm_min OM Skriver minut som% M med det alternativa numeriska systemet tm_min S Skriver andra som ett decimaltal, intervall (00,60) tm_sec OS Skriver andra som% S, med hjälp av det alternativa numeriska systemet tm_sec Övrig c Skriver standarddatum och tidssträng, t.ex. sön 17 okt 04:41:13 2010 (språkberoende) Allt Ec Skriver språkets alternativa datum- och tidssträng Allt x Skriver lokaliserad datumrepresentation (språkberoende) Allt Ex Skriver språkets alternativa datumrepresentation Allt X Skriver lokaliserad tidsrepresentation (språkberoende) Allt EX Skriver lokalens alternativa tidsrepresentation Allt D Motsvarar "% m /% d /% y" tm_mon, tm_mday, tm_year F Motsvarar "% Y-% m-% d" tm_mon, tm_mday, tm_year r Skriver lokaliserad 12-timmars klocktid tm_hour, tm_min, tm_sec R Motsvarar "% H:% M" tm_hour, tm_min T Motsvarande "% H:% M:% S tm_hour, tm_min, tm_sec P Skriver lokaliserad am eller pm (språkberoende) tm_hour z skriver offset från UTC i ISO 8601-format (t.ex. -0545), eller inga tecken om tidszoninformationen inte är tillgänglig tm_isdst Z Skriver tidszons namn eller förkortning, eller ingenting om tidszonsinformationen inte är tillgänglig (språkberoende) tm_isdst - tid: Datum och tid information som ska konverteras.
wcsftime () Returvärde
- Vid framgång returnerar funktionen wcsftime () antalet breda tecken som skrivs in i det breda teckenarrangemanget pekat på av str som inte inkluderar den avslutande L ' 0'.
- Om antalet nåddes innan hela strängen kunde lagras returneras 0 och innehållet är odefinierat.
Exempel: Hur fungerar wcsftime ()?
#include #include #include using namespace std; int main() ( time_t curr_time; tm * curr_tm; wchar_t date_string(100); wchar_t time_string(100); time(&curr_time); curr_tm = localtime(&curr_time); wcsftime(date_string, 50, L"Today is %B %d, %Y", curr_tm); wcsftime(time_string, 50, L"Current time is %T", curr_tm); wcout << date_string << endl; wcout << time_string << endl; return 0; )
När du kör programmet blir resultatet:
Idag är den 21 april 2017 Nuvarande tid är 14:42:45