Difference between revisions of "Date in File Name"

From Qt Wiki
Jump to: navigation, search
Line 1: Line 1:
[[Category:HowTo]]<br />[[Category:snippets]]
+
[[Category:HowTo]]
 +
[[Category:snippets]]
  
 
'''English''' | [[Date-in-File-Name-Russian|Русский]]
 
'''English''' | [[Date-in-File-Name-Russian|Русский]]
Line 7: Line 8:
 
In the case you have to build a file name after the current date, so that it will look like ''data_mm_dd_yyyy.txt'' you can use the following simple function to get the string name of the file.
 
In the case you have to build a file name after the current date, so that it will look like ''data_mm_dd_yyyy.txt'' you can use the following simple function to get the string name of the file.
  
<code>QString FileNameHandler::todayFileName(){<br /> QDate today = QDate::currentDate();<br /> QString relativeFileName( &quot;data_&quot; );<br /> relativeFileName.append( QString::number( today.month() ) );<br /> relativeFileName.append( &quot;''&quot; );<br /> relativeFileName.append( QString::number( today.day() ) );<br /> relativeFileName.append( &quot;''&quot; );<br /> relativeFileName.append( QString::number( today.year() ) );<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.month() ) );
 +
relativeFileName.append( "''" );
 +
relativeFileName.append( QString::number( today.day() ) );
 +
relativeFileName.append( "''" );
 +
relativeFileName.append( QString::number( today.year() ) );
 +
relativeFileName.append( ".txt" );
 +
return relativeFileName;
 +
}</code>
  
 
Or its shorter version that uses the overloading of the + operator for QString:
 
Or its shorter version that uses the overloading of the + operator for 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>
  
 
The fastest - and clearest - version, without calling a custom function, is
 
The fastest - and clearest - version, without calling a custom function, is
  
<code>QString filename = QDate::currentDate().toString(&quot;'data_'MM_dd_yyyy'.txt'&quot;);<code>
+
<code>QString filename = QDate::currentDate().toString("'data_'MM_dd_yyyy'.txt'");<code>
  
 
and when the files should get ordered chronological, then use
 
and when the files should get ordered chronological, then use
  
</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 10:14, 25 February 2015


English | Русский

Date in File Name

In the case you have to build a file name after the current date, so that it will look like data_mm_dd_yyyy.txt you can use the following simple function to get the string name of the file.

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

Or its shorter version that uses the overloading of the + operator for 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;
}

The fastest - and clearest - version, without calling a custom function, is

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

and when the files should get ordered chronological, then use
QString filename = QDate::currentDate().toString("'data_'yyyy_MM_dd'.txt'");</code>