Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Date in File Name
Jump to navigation
Jump to search
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'");