Date in File Name/ru: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:HowTo]]<br />[[Category:snippets]]
[[Category:HowTo]]
[[Category:snippets]]


'''Русский''' | [[Date-in-File-Name|English]]
'''Русский''' | [[Date-in-File-Name|English]]
Line 9: Line 10:
В случае, если вам нужно создать имя файла с указанием текущей даты вида data_yyyy_mm_dd.txt, то вы можете использовать следующую простую функцию, чтобы получить строку имени файла:
В случае, если вам нужно создать имя файла с указанием текущей даты вида data_yyyy_mm_dd.txt, то вы можете использовать следующую простую функцию, чтобы получить строку имени файла:


<code>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 />}</code>
<code>QString FileNameHandler::todayFileName(){
QDate today = QDate::currentDate();
QString relativeFileName( "data_" );
relativeFileName.append( QString::number( today.year() ) );
relativeFileName.append( "''" );
relativeFileName.append( QString::number( today.month() ) );
relativeFileName.append( "''" );
relativeFileName.append( QString::number( today.day() ) );
relativeFileName.append( ".txt" );
return relativeFileName;
}</code>


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


<code>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;;
<code>QString FileNameHandler::todayFileName(){
QDate today = QDate::currentDate();
QString relativeFileName( "data_" );
relativeFileName ''= QString::number( today.month()
'' "''" + QString::number( today.day() )
+ "''" + QString::number( today.year() )
+ ".txt";


return relativeFileName;<br />}</code>
return relativeFileName;
}</code>


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


<code>QString filename = QDate::currentDate().toString(&quot;'data_'yyyy_MM_dd'.txt'&quot;);<code>
<code>QString filename = QDate::currentDate().toString("'data_'yyyy_MM_dd'.txt'");<code>

Revision as of 11:12, 25 February 2015


Русский | English

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

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

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

QString FileNameHandler::todayFileName(){
 QDate today = QDate::currentDate();
 QString relativeFileName( "data_" );
 relativeFileName.append( QString::number( today.year() ) );
 relativeFileName.append( "''" );
 relativeFileName.append( QString::number( today.month() ) );
 relativeFileName.append( "''" );
 relativeFileName.append( QString::number( today.day() ) );
 relativeFileName.append( ".txt" );
 return relativeFileName;
}

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

QString FileNameHandler::todayFileName(){
 QDate today = QDate::currentDate();
 QString relativeFileName( "data_" );
 relativeFileName ''= QString::number( today.month()
'' "''" + QString::number( today.day() )
 + "''" + QString::number( today.year() )
 + ".txt";

return relativeFileName;
}

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

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