#include <iostream>
#include <string>
#include <ctime>
#include <iomanip>
#include <locale>
#include <sstream>
bool parseAscTimeDate(std::tm& tm, const std::string& str) {
std::istringstream ss(str);
//ss.imbue(std::locale("en_US.UTF8")); //try timezone?
ss >> std::get_time(&tm, "%a %b %d %H:%M:%S %Y");
return !ss.fail();
}
int main()
{
/* ANSI C's asctime format */
std::tm tm;
if (parseAscTimeDate(tm, "Sun Nov 06 08:49:37 1994"))
std::cout << "Ok!" << std::endl;
else
std::cout << "Wrong!" << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8bG9jYWxlPgojaW5jbHVkZSA8c3N0cmVhbT4KCmJvb2wgcGFyc2VBc2NUaW1lRGF0ZShzdGQ6OnRtJiB0bSwgY29uc3Qgc3RkOjpzdHJpbmcmIHN0cikgewogICAgc3RkOjppc3RyaW5nc3RyZWFtIHNzKHN0cik7CiAgICAvL3NzLmltYnVlKHN0ZDo6bG9jYWxlKCJlbl9VUy5VVEY4IikpOyAvL3RyeSB0aW1lem9uZT8KICAgIHNzID4+IHN0ZDo6Z2V0X3RpbWUoJnRtLCAiJWEgJWIgICVkICVIOiVNOiVTICVZIik7CiAgICByZXR1cm4gIXNzLmZhaWwoKTsKfQoKaW50IG1haW4oKQp7CiAgIC8qIEFOU0kgQydzIGFzY3RpbWUgZm9ybWF0ICovCiAgIHN0ZDo6dG0gdG07CiAgIGlmIChwYXJzZUFzY1RpbWVEYXRlKHRtLCAiU3VuIE5vdiAgMDYgMDg6NDk6MzcgMTk5NCIpKQogICAgICAgc3RkOjpjb3V0IDw8ICJPayEiIDw8IHN0ZDo6ZW5kbDsKICAgZWxzZQogICAgICAgc3RkOjpjb3V0IDw8ICJXcm9uZyEiIDw8IHN0ZDo6ZW5kbDsKfQ==