Difference between revisions of "Date in File Name"

From Qt Wiki
Jump to: navigation, search
 
(Cleanup)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''English''' | [[Date-in-File-Name-Russian|Русский]]
+
{{LangSwitch}}
 +
[[Category:HowTo]]
 +
[[Category:snippets]]
 +
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.
  
=Date in File Name=
+
<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:
  
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() {
 +
    QDate today = QDate::currentDate();
 +
    QString relativeFileName( "data_" );
 +
    relativeFileName + QString::number( today.month()
 +
        + "''" + QString::number( today.day() )
 +
        + "''" + QString::number( today.year() )
 +
        + ".txt";
 +
    return relativeFileName;
 +
}
 +
</code>
  
Or its shorter version that uses the overloading of the + operator for QString:
+
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("'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
  
===Categories:===
+
<code>
 
+
QString filename = QDate::currentDate().toString("'data_'yyyy_MM_dd'.txt'");
* [[:Category:HowTo|HowTo]]
+
</code>
* [[:Category:snippets|snippets]]
 

Latest revision as of 13:39, 28 June 2015

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

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'");

and when the files should get ordered chronological, then use

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