C ++ wcsftime () - C ++ Standard Library

Fungsi wcsftime () di C ++ mengubah tanggal dan waktu tertentu dari waktu waktu kalender tertentu menjadi string karakter lebar yang diakhiri dengan null sesuai dengan format string.

Fungsi wcsftime () didefinisikan dalam file header.

wcsftime () prototipe

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

Fungsi wcsftime () membutuhkan 4 argumen: str, count, format dan time.

Informasi tanggal dan waktu yang ditunjukkan oleh waktu diubah menjadi karakter lebar yang diakhiri dengan null berdasarkan nilai format dan disimpan dalam array lebar yang ditunjukkan oleh str. Paling banyak byte hitungan ditulis.

Parameter wcsftime ()

  • str: Pointer ke elemen pertama dari array karakter lebar untuk menyimpan hasilnya.
  • count: Jumlah maksimum karakter lebar untuk ditulis.
  • format: Pointer ke string karakter lebar yang diakhiri null yang menentukan format konversi. Format string terdiri dari penentu konversi (dimulai dengan% dan secara opsional diikuti oleh E atau O) dan karakter lebar biasa lainnya.
    Karakter lebar biasa termasuk karakter lebar null yang diakhiri disalin seperti pada string lebar keluaran. Penentu format untuk wcsftime ()
    Penentu Konversi Deskripsi Fields Bekas
    % Menulis karakter%
    n Menulis karakter baris baru
    t Menulis karakter tab horizontal
    Tahun
    Y Menulis 4 digit tahun, misal 2011 tm_year
    MATA Menulis 4 digit tahun dalam representasi alternatif lokal tm_year
    y Menulis 2 digit terakhir tahun, rentang (00, 99) tm_year
    Oy Menulis 2 digit terakhir tahun dalam representasi alternatif lokal tm_year
    Ey Menulis tahun sebagai offset dari periode kalender alternatif lokal% EC (tergantung lokal) tm_year
    C Menulis 2 digit pertama tahun, kisaran (00,99) tm_year
    EC Menuliskan nama tahun dasar (titik) di representasi alternatif lokal, tm_year
    G Menulis tahun berbasis minggu ISO 8601, yaitu tahun yang berisi minggu yang ditentukan. tm_year, tm_wday, tm_yday
    g Menulis 2 digit terakhir tahun berbasis minggu ISO 8601, yaitu tahun yang berisi minggu tertentu (kisaran (00,99)). tm_year, tm_wday, tm_yday
    Bulan
    b Menulis nama bulan yang disingkat, misalnya Jan tm_mon
    h Sama seperti b tm_mon
    B Menulis nama bulan penuh, misal Januari tm_mon
    m Menulis bulan sebagai angka desimal, rentang (01,12) tm_mon
    Om Menulis bulan menggunakan sistem numerik alternatif lokal tm_mon
    Minggu
    U Menulis minggu dalam setahun sebagai angka desimal dari 00 hingga 53 (Minggu adalah hari pertama dalam seminggu) tm_year, tm_wday, tm_yday
    OU Menulis minggu dalam setahun sebagai% U menggunakan sistem numerik alternatif tm_year, tm_wday, tm_yday
    W Menulis minggu dalam setahun sebagai angka desimal dari 00 hingga 53 (Senin adalah hari pertama dalam seminggu) tm_year, tm_wday, tm_yday
    OW Menulis minggu dalam setahun sebagai% W menggunakan sistem numerik alternatif tm_year, tm_wday, tm_yday
    V. Menulis minggu ISO 8601 dalam setahun (kisaran (01,53)). tm_year, tm_wday, tm_yday
    OV Menulis minggu dalam setahun, seperti% V, menggunakan sistem numerik alternatif tm_year, tm_wday, tm_yday
    Hari dalam setahun / bulan
    j Menulis hari dalam setahun sebagai angka desimal, rentang (001.366) tm_yday
    d Menulis hari dalam sebulan sebagai angka desimal, rentang (01,31) tm_mday
    Od Menulis hari dalam sebulan, seperti% d, menggunakan sistem numerik alternatif tm_mday
    e Menulis hari dalam sebulan sebagai angka desimal, kisaran (1,31) tm_mday
    Oe Menuliskan hari dalam sebulan, seperti% e, menggunakan sistem numerik alternatif tm_mday
    Hari di minggu ini
    Sebuah Menulis nama hari kerja yang disingkat, misalnya Jum (tergantung lokal) tm_wday
    SEBUAH Menulis nama hari kerja lengkap, mis. Jumat (tergantung lokal) tm_wday
    w Menulis hari kerja sebagai angka desimal, kisaran (0-6) (Minggu adalah 0) tm_wday
    Aduh Menulis hari kerja sebagai% w, menggunakan sistem numerik alternatif tm_wday
    u Menulis hari kerja sebagai angka desimal, dengan Senin adalah 1 (format ISO 8601), rentang (1-7) tm_wday
    Ou Menulis hari kerja sebagai% u, menggunakan sistem numerik alternatif tm_wday
    Jam, menit, detik
    H. Menulis jam sebagai angka desimal, rentang (00,23) tm_hour
    OH Menulis jam sebagai% H, menggunakan sistem numerik alternatif tm_hour
    saya Menulis jam sebagai angka desimal, rentang (01,12) tm_hour
    OI Menulis jam sebagai% I, menggunakan sistem numerik alternatif tm_hour
    M Menulis menit sebagai angka desimal, rentang (00,59) tm_min
    OM Menulis menit sebagai% M, menggunakan sistem numerik alternatif tm_min
    S Menulis detik sebagai angka desimal, rentang (00,60) tm_sec
    OS Menulis detik dengan% S, menggunakan sistem numerik alternatif tm_sec
    Lain
    c Menulis rangkaian tanggal dan waktu standar, mis. Sun 17 Okt 04:41:13 2010 (tergantung lokal) semua
    Ec Menulis tanggal dan waktu string alternatif lokal semua
    x Menulis representasi tanggal lokal (tergantung lokal) semua
    Ex Menulis representasi tanggal alternatif lokal semua
    X Menulis representasi waktu lokal (tergantung lokal) semua
    EX Menulis representasi waktu alternatif lokal semua
    D Setara dengan "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Setara dengan "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Menulis waktu jam 12 jam yang dilokalkan tm_jam, tm_min, tm_detik
    R Setara dengan "% H:% M" tm_jam, tm_min
    T Setara dengan "% H:% M:% S tm_jam, tm_min, tm_detik
    P. Penulisan am atau pm yang dilokalkan (tergantung lokal) tm_hour
    z menulis offset dari UTC dalam format ISO 8601 (mis. -0545), atau tanpa karakter jika informasi zona waktu tidak tersedia tm_isdst
    Z Menulis nama atau singkatan zona waktu, atau tidak sama sekali jika informasi zona waktu tidak tersedia (tergantung lokal) tm_isdst
  • waktu: Informasi tanggal dan waktu untuk dikonversi.

wcsftime () Nilai kembali

  • Jika berhasil, fungsi wcsftime () mengembalikan jumlah karakter lebar yang ditulis ke dalam array karakter lebar yang ditunjukkan oleh str tidak termasuk penghentian L ' 0'.
  • Jika hitungan tercapai sebelum seluruh string dapat disimpan, 0 dikembalikan dan isinya tidak ditentukan.

Contoh: Bagaimana fungsi wcsftime () bekerja?

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

Saat Anda menjalankan program, hasilnya adalah:

 Hari ini 21 April 2017 Waktu sekarang 14:42:45

Artikel yang menarik...