C ++ wcsftime () - C ++ Standardbibliotek

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

Intressanta artiklar...