#include <time.h>
#include <iostream>
#include <sstream>
#include <iomanip>
class Date
{
std::stringstream format;
time_t date;
struct tm *date_tm;
public:
Date() : date(time(NULL)), date_tm(localtime(&date)) {}
Date(std::istream &in);
Date(std::string str);
const std::string getDate();
};
Date::Date(std::istream &in)
{
std::cout << "enter date [mm/dd/yy]: ";
format.basic_ios::rdbuf(in.rdbuf());
format >> std::get_time(date_tm, "%m/%d/%y");
}
Date::Date(std::string str)
{
format << str;
format >> std::get_time(date_tm, "%m/%d/%y");
}
const std::string Date::getDate()
{
format << std::put_time(date_tm, "%m/%d/%y");
return format.str();
}
int main()
{
Date now;
std::cout << now.getDate() << std::endl;
}
I2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGlvbWFuaXA+CgpjbGFzcyBEYXRlCnsKICAgIHN0ZDo6c3RyaW5nc3RyZWFtIGZvcm1hdDsKICAgIHRpbWVfdCBkYXRlOwogICAgc3RydWN0IHRtICpkYXRlX3RtOwoKcHVibGljOgogICAgRGF0ZSgpIDogZGF0ZSh0aW1lKE5VTEwpKSwgZGF0ZV90bShsb2NhbHRpbWUoJmRhdGUpKSB7fQogICAgRGF0ZShzdGQ6OmlzdHJlYW0gJmluKTsKICAgIERhdGUoc3RkOjpzdHJpbmcgc3RyKTsKCiAgICBjb25zdCBzdGQ6OnN0cmluZyBnZXREYXRlKCk7Cn07CgpEYXRlOjpEYXRlKHN0ZDo6aXN0cmVhbSAmaW4pCnsKICAgIHN0ZDo6Y291dCA8PCAiZW50ZXIgZGF0ZSBbbW0vZGQveXldOiAiOwogICAgZm9ybWF0LmJhc2ljX2lvczo6cmRidWYoaW4ucmRidWYoKSk7CiAgICBmb3JtYXQgPj4gc3RkOjpnZXRfdGltZShkYXRlX3RtLCAiJW0vJWQvJXkiKTsKfQoKRGF0ZTo6RGF0ZShzdGQ6OnN0cmluZyBzdHIpCnsKICAgIGZvcm1hdCA8PCBzdHI7CiAgICBmb3JtYXQgPj4gc3RkOjpnZXRfdGltZShkYXRlX3RtLCAiJW0vJWQvJXkiKTsKfQoKY29uc3Qgc3RkOjpzdHJpbmcgRGF0ZTo6Z2V0RGF0ZSgpCnsKICAgIGZvcm1hdCA8PCBzdGQ6OnB1dF90aW1lKGRhdGVfdG0sICIlbS8lZC8leSIpOwogICAgcmV0dXJuIGZvcm1hdC5zdHIoKTsKfQoKCgoKaW50IG1haW4oKQp7CiAgICBEYXRlIG5vdzsKICAgIHN0ZDo6Y291dCA8PCBub3cuZ2V0RGF0ZSgpIDw8IHN0ZDo6ZW5kbDsKfQ==