Функција стрфтиме () у Ц ++ претвара задати датум и време из датог календарског времена у вишебајтни низ знакова завршених нулом у складу са низом формата.
Функција стрфтиме () је дефинисана у датотеци заглавља.
прототип стрфтиме ()
сизе_т стрфтиме (цхар * стр, цоунт_т сизе, цонст цхар * формат, цонст тм * време);
Функција стрфтиме () узима 4 аргумента: стр, цоунт, формат и време.
Информације о датуму и времену на које указује време претварају се у вишебајтни знак с нулом завршеним знаком на основу вредности формата и чувају се у низу на који показује стр. Написано је највише бајтова пребројавања.
стрфтиме () Параметри
- стр: Показивач на први елемент низа знакова за чување резултата.
- цоунт: Максималан број бајтова за писање.
- формат: Показивач на вишебајтни низ знакова са завршеним нулом, специфицирајући формат конверзије. Низ формата састоји се од спецификатора конверзије (који започиње са%, а по избору иза њега следи Е или О) и других обичних знакова.
Обични знакови, укључујући завршни нулл знак, копирају се у излазни низ. спецификатори формата стрфтиме ()Спецификатор конверзије Опис Коришћена поља % Записује лик% н Пише знак за нови ред т Записује знак хоризонталне картице Године И. Записује 4 цифре године, нпр. 2011 тм_иеар Е И Записује 4 цифре године у алтернативном представљању локалног језика тм_иеар г. Записује последње 2 цифре године, опсег (00, 99) тм_иеар Ој Записује последње две цифре године у алтернативни приказ локалног језика тм_иеар Е и Записује годину као одмак од алтернативног календарског периода локалног језика% ЕЦ (зависно од локализације) тм_иеар Ц. Записује прве две цифре у години, опсег (00,99) тм_иеар ЕЦ Записује име базне године (периода) у алтернативном представљању локалитета, тм_иеар Г. Пише годину заснован на недељи ИСО 8601, односно годину која садржи наведену недељу. тм_иеар, тм_вдаи, тм_идаи г Записује последње 2 цифре ИСО-ове седмице засноване на недељи, тј. Године која садржи наведену недељу (опсег (00,99)). тм_иеар, тм_вдаи, тм_идаи Месец дана б Пише скраћени назив месеца, нпр. Јан тм_мон х Исто као б тм_мон Б. Пише пуни месец, нпр. Јануар тм_мон м Записује месец као децимални број, опсег (01,12) тм_мон Ом Пише месец користећи алтернативни нумерички систем локала тм_мон Недеља У Записује недељу у години као децимални број од 00 до 53 (недеља је први дан у недељи) тм_иеар, тм_вдаи, тм_идаи ОУ Записује недељу у години као% У користећи алтернативни нумерички систем тм_иеар, тм_вдаи, тм_идаи В Записује недељу у години као децимални број од 00 до 53 (понедељак је први дан у недељи) тм_иеар, тм_вдаи, тм_идаи ОВ Записује недељу у години као% В користећи алтернативни нумерички систем тм_иеар, тм_вдаи, тм_идаи В. Пише ИСО 8601 недељу у години (опсег (01,53)). тм_иеар, тм_вдаи, тм_идаи ОВ Записује недељу у години као% В, користећи алтернативни нумерички систем тм_иеар, тм_вдаи, тм_идаи Дан у години / месецу ј Записује дан у години као децимални број, опсег (001,366) тм_идаи д Записује дан у месецу као децимални број, опсег (01,31) тм_мдаи Од Записује дан у месецу као% д, користећи алтернативни нумерички систем тм_мдаи е Записује дан у месецу као децимални број, опсег (1,31) тм_мдаи Ое Записује дан у месецу као% е, користећи алтернативни нумерички систем тм_мдаи Дан у недељи а Пише скраћени назив радног дана, нпр. Петак (зависно од локалног језика) тм_вдаи А. Пише пуно име радног дана, нпр. Петак (зависно од локалног језика) тм_вдаи в Записује радни дан као децимални број, опсег (0-6) (недеља је 0) тм_вдаи Ау Записује радни дан као% в, користећи алтернативни нумерички систем тм_вдаи у Записује радни дан као децимални број, где је понедељак 1 (формат ИСО 8601), опсег (1-7) тм_вдаи Оу Записује радни дан као% у, користећи алтернативни нумерички систем тм_вдаи Сат, минут, секунда Х. Записује сат као децимални број, опсег (00,23) тм_хоур ОХ Записује сат као% Х, користећи алтернативни нумерички систем тм_хоур Ја Записује сат као децимални број, опсег (01,12) тм_хоур ОИ Записује сат као% И, користећи алтернативни нумерички систем тм_хоур М. Записује минут као децимални број, опсег (00,59) тм_мин ОМ Минуте записује као% М, користећи алтернативни нумерички систем тм_мин С. Записује друго као децимални број, опсег (00,60) тм_сец ОС Записује друго као% С, користећи алтернативни нумерички систем тм_сец Остало ц Записује стандардни низ датума и времена, нпр. Нед. 17. окт. све Ец Записује алтернативни датумски и временски низ локалног језика све Икс Записује локализовано представљање датума (зависно од локализације) све Пр Пише локално представљање датума све Икс Записује локализовано представљање времена (зависно од локализације) све ПР Пише локално представљање времена све Д. Еквивалентно „% м /% д /% г“ тм_мон, тм_мдаи, тм_иеар Ф Еквивалентно „% И-% м-% д“ тм_мон, тм_мдаи, тм_иеар р Записује локализовано 12-часовно време сата тм_хоур, тм_мин, тм_сец Р. Еквивалентно „% Х:% М“ тм_хоур, тм_мин Т. Еквивалентно „% Х:% М:% С тм_хоур, тм_мин, тм_сец П. Пише локализовано ујутро или увече (зависно од локалног језика) тм_хоур з записује одмак од УТЦ-а у ИСО 8601 формату (нпр. -0545) или без знакова ако информације о временској зони нису доступне тм_исдст З. Записује назив или скраћеницу временске зоне или ништа ако подаци о временској зони нису доступни (зависно од локализације) тм_исдст - време: Подаци о датуму и времену које треба претворити.
стрфтиме () Повратна вредност
- Након успеха, функција стрфтиме () враћа број бајтова записаних у низ знакова на који показује стр, не укључујући завршетак ' 0'.
- Ако је постигнуто бројање пре него што је цео низ могао бити сачуван, враћа се 0 и садржај је недефинисан.
Пример: Како функционише функција стрфтиме ()?
#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; )
Када покренете програм, излаз ће бити:
Данас је 21. априла 2017. Тренутно време је 11:20:42