Функцията wcsftime () в C ++ преобразува дадената дата и час от дадено време от календарно време в широко символен низ с край на нула в съответствие с низ от формат.
Функцията wcsftime () е дефинирана в заглавния файл.
прототип на wcsftime ()
size_t wcsftime (wchar_t * str, count_t count, const wchar_t * формат, const tm * време);
Функцията wcsftime () отнема 4 аргумента: str, count, format и time.
Информацията за датата и часа, посочена от времето, се преобразува в нулево прекратен широк знак въз основа на стойността на формата и се съхранява в широкия масив, посочен от str. Записват се най-много байтове за преброяване.
wcsftime () Параметри
- str: Указател към първия елемент от широкия масив от знаци за съхраняване на резултата.
- count: Максимален брой широки символи за писане.
- формат: Указател на низово завършен широк символен низ, указващ формата на преобразуване. Форматният низ се състои от спецификатор за преобразуване (започващ с% и по желание последван от E или O) и други обикновени широки символи.
Обикновените широки символи, включително завършващия нулев широк знак, се копират, както е в изходния широк низ. Спецификатори на формат за wcsftime ()Спецификатор за преобразуване Описание Използвани полета % Записва знака% н Пише символ на нов ред т Пише знак за хоризонтален таб Година Y. Записва 4 цифри на годината, например 2011 tm_year EY Записва 4 цифри на година в алтернативно представяне на локала tm_year у Записва последните 2 цифри от годината, диапазон (00, 99) tm_year О, Записва последните 2 цифри от годината в алтернативно представяне на локала tm_year Ей Записва годината като отклонение от алтернативния календарен период% EC (зависи от локала) tm_year ° С Пише първите 2 цифри от годината, диапазон (00,99) tm_year ЕО Записва име на базовата година (период) в алтернативното представяне на локала, tm_year G Пише ISO 8601 седмична година, т.е. годината, която съдържа посочената седмица. tm_year, tm_wday, tm_yday ж Записва последните 2 цифри от годината, базирана на ISO 8601, т.е. годината, която съдържа посочената седмица (диапазон (00,99)). tm_year, tm_wday, tm_yday Месец б Пише съкратено име на месец, например Jan tm_mon з Същото като b tm_mon Б. Пише пълното име на месеца, например януари tm_mon м Записва месеца като десетично число, диапазон (01,12) tm_mon Ом Записва месец, използвайки алтернативната числова система на локала tm_mon Седмица U Записва седмицата в годината като десетично число от 00 до 53 (неделя е първият ден от седмицата) tm_year, tm_wday, tm_yday OU Записва седмицата в годината като% U, използвайки алтернативната цифрова система tm_year, tm_wday, tm_yday W Записва седмицата в годината като десетично число от 00 до 53 (понеделник е първият ден от седмицата) tm_year, tm_wday, tm_yday OW Записва седмицата в годината като% W, използвайки алтернативната цифрова система tm_year, tm_wday, tm_yday V Пише ISO 8601 седмица в годината (диапазон (01,53)). tm_year, tm_wday, tm_yday OV Записва седмица в годината като% V, използвайки алтернативната цифрова система tm_year, tm_wday, tm_yday Ден от годината / месеца j Записва деня от годината като десетично число, диапазон (001,366) tm_yday д Записва деня от месеца като десетично число, диапазон (01,31) tm_mday Од Записва ден от месеца като% d, използвайки алтернативната цифрова система tm_mday д Записва деня от месеца като десетично число, диапазон (1,31) tm_mday Oe Записва ден от месеца като% e, използвайки алтернативната цифрова система tm_mday Ден от седмицата а Пише съкратено име на делничния ден, например петък (в зависимост от локала) tm_wday A Пише пълното име на делничния ден, например петък (в зависимост от локала) tm_wday w Записва делничния ден като десетично число, диапазон (0-6) (неделя е 0) tm_wday Ооо Пише делничния ден като% w, използвайки алтернативната цифрова система tm_wday u Записва делничния ден като десетично число, където понеделник е 1 (формат ISO 8601), диапазон (1-7) tm_wday Оу Пише делничния ден като% u, използвайки алтернативната цифрова система tm_wday Час, минута, секунда З. Записва час като десетично число, диапазон (00,23) tm_hour ОХ Записва час като от% H, използвайки алтернативната цифрова система tm_hour Аз Записва час като десетично число, диапазон (01,12) tm_hour OI Записва час като от% I, използвайки алтернативната цифрова система tm_hour М Записва минута като десетично число, диапазон (00,59) tm_min ОМ Записва минута като% M, използвайки алтернативната цифрова система tm_min С Пише второ като десетично число, диапазон (00,60) tm_sec операционна система Пише второ като% S, използвайки алтернативната цифрова система tm_sec Други ° С Пише стандартен низ с дата и час, напр. Неделя 17 октомври 04:41:13 2010 (в зависимост от локала) всичко Ек Написва алтернативния низ за дата и час на локала всичко х Пише локализирано представяне на дата (в зависимост от локала) всичко Напр Пише алтернативно представяне на дата на локал всичко х Пише локализирано представяне на времето (в зависимост от локала) всичко ПРЕДИ Пише алтернативно представяне на време на локал всичко д Еквивалентно на "% m /% d /% y" tm_mon, tm_mday, tm_year F Еквивалентно на "% Y-% m-% d" tm_mon, tm_mday, tm_year r Записва локализирано 12-часово часово време tm_hour, tm_min, tm_sec R Еквивалентно на "% H:% M" tm_hour, tm_min т Еквивалентно на "% H:% M:% S tm_hour, tm_min, tm_sec P Пише локализирано сутринта или вечерта (в зависимост от локала) tm_hour z записва отместване от UTC във формат ISO 8601 (например -0545) или без символи, ако информацията за часовата зона не е налична tm_isdst Z. Записва име или съкращение на часовата зона или нищо, ако информацията за часовата зона не е налична (в зависимост от локала) tm_isdst - time: Датата и часът за преобразуване.
wcsftime () Върната стойност
- При успех функцията wcsftime () връща броя широки символи, записани в широкия масив от символи, посочен от str, без да включва завършващото L ' 0'.
- Ако броят е достигнат, преди да може да се съхрани целият низ, се връща 0 и съдържанието е недефинирано.
Пример: Как работи функцията 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; )
Когато стартирате програмата, изходът ще бъде:
Днес е 21 април 2017 г. Текущото време е 14:42:45