我有一个 13 位数的字符串,自 1970 年 1 月 1 日以来的毫秒数。我需要将其转换为日期时间。第一步是将其转换为可用的数字格式。在 13 个字符时,它超出了 ulong 和 long 的限制,最多有 10 位数字。我正在查看 int64 转换。把这个野兽变成数字格式的最好方法是什么?我在 Windows 平台上使用 C++
示例“1382507187943”-> 数字?--> 日期时间?
谢谢!
第2部分
感谢你们!我正在使用 c++ 本机。感谢海报 2 的代码。
我试过了,它在 str 包含数字并且是 std::string 的地方也能正常工作:
__int64 u = _atoi64( str.c_str() );
第三部分
实际上,13 位数字不适合 strtoul。我这样做并取回了正确的字符串。
__int64 u = _atoi64( str.c_str() );
time_t c;
//c = strtoul( "1382507187943", NULL, 0 );
c = u;
time(&c);
std::string s = ctime( &c );