繁体   English   中英

在 Visual Studio 上的 C/C++ 中将具有日期时间值的字符串转换为具有日期和时间的字符串

[英]Converting string with datetime value to one with date and time in C/C++ on Visual Studio

我正在 Visual Studio 上开发一个 C++ 应用程序,其中我有一个包含日期时间值的字符串,我必须将其转换为另一个字符串,其日期和时间格式为 dd-mm-yyyy HH:MM:SS

例如,如果字符串 sDateTime 的值为“1643873040”,我必须获取另一个值为“02\/03\/2022, 08:24:00”的字符串 sDateAndTime

我还没有找到任何教程或论坛来解释如何在使用 Visual Studio 开发的 C 或 C++ 程序中进行这种转换,如果有任何帮助或建议,我将不胜感激。

由于我的起始数据是一个包含时间戳的字符串,因此我根据之前的答案尝试使用此代码解决它:

uint64_t timeStamp = 0;
char buf[80];

std::istringstream iss("1643873040");
iss >> timeStamp;
time_t t = timeStamp;
struct tm *tmp = localtime(&t);

char strbuf[30];
strftime(strbuf, sizeof(strbuf), "%Y-%m-%d %H:%M:%S", tmp);
printf("%s\n", strbuf);

我已经根据您的答案修改了前面的示例,现在它可以在 VisualStudio 中使用:

    uint64_t timeStamp = 0;

    std::istringstream iss("1550267535");
    iss >> timeStamp;
        
    time_t localTime = timeStamp;

    struct tm timeInfo;
    localtime_s(&timeInfo, &localTime);

    printf ("%d-%02d-%02d %02d:%02d:%02d",
        1900 + timeInfo.tm_year, timeInfo.tm_mon, timeInfo.tm_mday,
        timeInfo.tm_hour, timeInfo.tm_min, timeInfo.tm_sec);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM