Date in File Name/ru

From Qt Wiki
Jump to navigation Jump to search


Русский | English

Замечание: Эта статья является переводом оригинальной статьи с небольшим изменением. Изменение заключается в формате представления даты.

Дата в имени файла

В случае, если вам нужно создать имя файла с указанием текущей даты вида data_yyyy_mm_dd.txt, то вы можете использовать следующую простую функцию, чтобы получить строку имени файла:

QString FileNameHandler::todayFileName(){<br /> QDate today = QDate::currentDate();<br /> QString relativeFileName( &quot;data_&quot; );<br /> relativeFileName.append( QString::number( today.year() ) );<br /> relativeFileName.append( &quot;''&quot; );<br /> relativeFileName.append( QString::number( today.month() ) );<br /> relativeFileName.append( &quot;''&quot; );<br /> relativeFileName.append( QString::number( today.day() ) );<br /> relativeFileName.append( &quot;.txt&amp;quot; );<br /> return relativeFileName;<br />}

Или ее сокращенный вариант, который использует перегрузку оператора + для Doc:QString:

QString FileNameHandler::todayFileName(){<br /> QDate today = QDate::currentDate();<br /> QString relativeFileName( &quot;data_&quot; );<br /> relativeFileName ''= QString::number( today.month()<br />'' &quot;''&quot; + QString::number( today.day() )<br /> + &quot;''&quot; + QString::number( today.year() )<br /> + &quot;.txt&amp;quot;;

return relativeFileName;<br />}

Самой быстрой - и ясной - версией, без вызова пользовательской функции, является:

QString filename = QDate::currentDate().toString("'data_'yyyy_MM_dd'.txt'");