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