C ++ wcsftime () - Perpustakaan Standard C ++

Fungsi wcsftime () dalam C ++ mengubah tarikh dan waktu yang diberikan dari waktu waktu kalendar tertentu menjadi rentetan aksara lebar yang ditamatkan nol mengikut rentetan format.

Fungsi wcsftime () ditentukan dalam fail header.

prototaip wcsftime ()

 size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);

Fungsi wcsftime () mengambil 4 argumen: str, kiraan, format dan masa.

Maklumat tarikh dan waktu yang ditunjukkan oleh waktu ditukar menjadi watak lebar yang dihentikan nol berdasarkan nilai format dan disimpan dalam tatasusunan luas yang ditunjukkan oleh str. Sebilangan besar bait dikira ditulis.

wcsftime () Parameter

  • str: Penunjuk ke elemen pertama dari array watak luas untuk menyimpan hasilnya.
  • kiraan: Bilangan maksimum watak lebar untuk ditulis.
  • format: Penunjuk ke rentetan aksara lebar yang ditamatkan nol yang menentukan format penukaran. String format terdiri daripada penentu penukaran (bermula dengan% dan opsional diikuti oleh E atau O) dan watak lebar biasa lainnya.
    Karakter lebar biasa termasuk aksara lebar nol penamat disalin seperti pada rentetan lebar keluaran. Penentukan format untuk wcsftime ()
    Penentu Penukaran Penerangan Padang Terpakai
    % Menulis watak%
    n Menulis watak barisan baru
    t Menulis watak tab mendatar
    Tahun
    Y Menulis 4 digit tahun, misalnya 2011 tm_tahun
    MATA Menulis 4 digit tahun dalam perwakilan alternatif tempatan tm_tahun
    y Menulis 2 digit terakhir tahun, julat (00, 99) tm_tahun
    Oy Menulis 2 digit terakhir tahun dalam perwakilan alternatif tempatan tm_tahun
    Mata Menulis tahun sebagai pengimbangan dari tempoh kalendar alternatif tempatan% EC (bergantung kepada lokasi) tm_tahun
    C Menulis 2 digit pertama tahun, julat (00,99) tm_tahun
    SPR Menulis nama tahun asas (noktah) dalam perwakilan alternatif penduduk setempat, tm_tahun
    G Menulis ISO 8601 berdasarkan minggu, iaitu tahun yang mengandungi minggu yang ditentukan. tm_tahun, tm_wday, tm_yday
    g Menulis 2 digit terakhir ISO 8601 berdasarkan minggu, iaitu tahun yang mengandungi minggu yang ditentukan (julat (00,99)) tm_tahun, tm_wday, tm_yday
    Sebulan
    b Menulis nama bulan yang disingkat, misalnya Jan tm_mon
    h Sama seperti b tm_mon
    B Menulis nama bulan penuh, contohnya Januari tm_mon
    m Menulis bulan sebagai nombor perpuluhan, julat (01,12) tm_mon
    Ya Menulis bulan menggunakan sistem angka alternatif tempatan tm_mon
    Minggu
    U Menulis minggu dalam setahun sebagai nombor perpuluhan dari 00 hingga 53 (Ahad adalah hari pertama dalam seminggu) tm_tahun, tm_wday, tm_yday
    OU Menulis minggu dalam setahun sebanyak% U menggunakan sistem angka alternatif tm_tahun, tm_wday, tm_yday
    W Menulis minggu dalam setahun sebagai nombor perpuluhan dari 00 hingga 53 (Isnin adalah hari pertama dalam seminggu) tm_tahun, tm_wday, tm_yday
    OW Menulis minggu dalam setahun sebanyak% W menggunakan sistem angka alternatif tm_tahun, tm_wday, tm_yday
    V Menulis ISO 8601 minggu dalam setahun (julat (01,53)). tm_tahun, tm_wday, tm_yday
    OV Menulis minggu dalam setahun, seperti pada% V, menggunakan sistem angka alternatif tm_tahun, tm_wday, tm_yday
    Hari tahun / bulan
    j Menulis hari dalam setahun sebagai nombor perpuluhan, julat (001,366) tm_yday
    d Menulis hari dalam bulan sebagai nombor perpuluhan, julat (01,31) tm_mday
    Od Menulis hari dalam bulan, seperti pada% d, menggunakan sistem angka alternatif tm_mday
    e Menulis hari dalam bulan sebagai nombor perpuluhan, julat (1,31) tm_mday
    Oe Menulis hari dalam bulan, seperti pada% e, menggunakan sistem angka alternatif tm_mday
    Hari dalam seminggu
    a Menulis nama hari minggu yang disingkat, mis. Jum (bergantung pada tempat) tm_wday
    A Menulis nama hari minggu penuh, misalnya hari Jumaat (bergantung pada tempat) tm_wday
    w Menulis hari minggu sebagai nombor perpuluhan, julat (0-6) (Ahad adalah 0) tm_wday
    Aduhai Menulis hari kerja sebanyak% w, menggunakan sistem angka alternatif tm_wday
    awak Menulis hari kerja sebagai nombor perpuluhan, di mana Isnin adalah 1 (format ISO 8601), julat (1-7) tm_wday
    Aduh Menulis hari minggu sebanyak% u, menggunakan sistem angka alternatif tm_wday
    Jam, minit, kedua
    H Menulis jam sebagai nombor perpuluhan, julat (00,23) tm_jam
    OH Menulis jam sebanyak% H, menggunakan sistem angka alternatif tm_jam
    Saya Menulis jam sebagai nombor perpuluhan, julat (01,12) tm_jam
    OI Menulis jam sebanyak% I, menggunakan sistem angka alternatif tm_jam
    M Menulis minit sebagai nombor perpuluhan, julat (00,59) tm_min
    OM Menulis minit sebanyak% M, menggunakan sistem angka alternatif tm_min
    S Menulis kedua sebagai nombor perpuluhan, julat (00,60) tm_sec
    OS Menulis kedua sebagai% S, menggunakan sistem angka alternatif tm_sec
    Yang lain
    c Menulis rentetan tarikh dan waktu standard, misalnya Sun 17 Okt 04:41:13 2010 (bergantung pada tempat) semua
    Ek Menulis rentetan tarikh dan masa alternatif tempatan semua
    x Menulis perwakilan tarikh yang dilokalkan (bergantung pada tempat) semua
    Cth Menulis perwakilan tarikh alternatif tempatan semua
    X Menulis perwakilan masa yang dilokalkan (bergantung pada tempat) semua
    CEMERLANG Menulis perwakilan masa alternatif tempatan semua
    D Sama dengan "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Sama dengan "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Menulis waktu jam 12 jam yang dilokalkan tm_jam, tm_min, tm_sec
    R Sama dengan "% H:% M" tm_jam, tm_min
    T Sama dengan "% H:% M:% S tm_jam, tm_min, tm_sec
    P Menulis am atau pm yang dilokalkan (bergantung pada tempat) tm_jam
    z menulis ofset dari UTC dalam format ISO 8601 (mis. -0545), atau tidak ada aksara jika maklumat zon waktu tidak tersedia tm_isdst
    Z Menulis nama atau singkatan zon waktu, atau apa-apa jika maklumat zon waktu tidak tersedia (bergantung pada tempat) tm_isdst
  • masa: Maklumat tarikh dan masa untuk ditukar.

wcsftime () Nilai pulangan

  • Setelah berjaya, fungsi wcsftime () mengembalikan bilangan watak luas yang ditulis ke dalam array watak luas yang ditunjukkan oleh str tidak termasuk penamatan L ' 0'.
  • Sekiranya hitungan dicapai sebelum keseluruhan rentetan dapat disimpan, 0 dikembalikan dan isinya tidak ditentukan.

Contoh: Bagaimana fungsi wcsftime () berfungsi?

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

Semasa anda menjalankan program, outputnya adalah:

 Hari ini 21 April 2017 Masa sekarang ialah 14:42:45

Artikel menarik...