C ++ strftime () - C ++ Standard Library

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

Fungsi strftime () didefinisikan dalam file header.

strftime () prototipe

 size_t strftime (char * str, size_t count, const char * format, const tm * time);

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

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

strftime () Parameter

  • str: Pointer ke elemen pertama dari larik karakter untuk menyimpan hasilnya.
  • count: Jumlah byte maksimum untuk ditulis.
  • format: Pointer ke string karakter multibyte yang dihentikan null yang menentukan format konversi. Format string terdiri dari penentu konversi (dimulai dengan% dan secara opsional diikuti oleh E atau O) dan karakter biasa lainnya.
    Karakter biasa termasuk karakter null terminating disalin apa adanya ke string output. strftime () penentu format
    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.

strftime () Nilai kembali

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

Contoh: Bagaimana fungsi strftime () bekerja?

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

Saat Anda menjalankan program, hasilnya adalah:

 Hari ini adalah 21 April 2017 Waktu saat ini 11:20:42

Artikel yang menarik...