#ifndef GENERATEDATE_H_ #define GENERATEDATE_H_ #include #include #include using std::string; template class GenerateDate { public: GenerateDate(); ~GenerateDate() = default; void initializeData(); void generation(); S retrieveDateString() const { return dateString; } private: S dateString; I year, month, day; time_t unixEpoch; tm* currentTime; }; template GenerateDate::GenerateDate() { initializeData(); generation(); } template void GenerateDate::initializeData() { unixEpoch = time(0); currentTime = localtime(&unixEpoch); year = 1900 + currentTime->tm_year; month = 1 + currentTime->tm_mon; day = currentTime->tm_mday; } template void GenerateDate::generation() { if (month<10 && day<10) { dateString.assign(std::to_string(year)); dateString.append("0"+std::to_string(month)); dateString.append("0"+std::to_string(day)); } else if (month<10 && day>=10) { dateString.assign(std::to_string(year)); dateString.append("0"+std::to_string(month)); dateString.append(std::to_string(day)); } else if (month>=10 && day<10) { dateString.assign(std::to_string(year)); dateString.append(std::to_string(month)); dateString.append("0"+std::to_string(day)); } else { dateString.assign(std::to_string(year)); dateString.append(std::to_string(month)); dateString.append(std::to_string(day)); } } #endif