0

我有一个string date,我需要将其格式化为日期(dd.mm.yyyy)。我该怎么做?有没有一些可以简化格式化的功能?

LE:“编写一个可帮助您管理任务的 c++ 程序...任务具有唯一的格式、id、描述、日期(格式为“dd.MM.yyyy”的字符串,例如 10.07.2013)。”

4

3 回答 3

1

试试这个,这会给你一个 char[32] 中的系统时间

time_t curtime;
struct tm *loctime;
char date_str[32];

curtime = time (NULL);

/* Convert it to local time representation. */
loctime = localtime (&curtime);
strftime (date_str, 32, "%d.%m.%Y", loctime);
于 2013-07-11T09:02:20.307 回答
0

您必须更具体地了解您正在使用的 C++。如果它的 C++/CLI,那么你可以使用

DateTime::Parse

如果它不是 C++/CLI,并且您知道可以使用的字符串的确切格式

sscanf(....)

并提取单个项目以分配给时间结构。

于 2013-07-10T08:51:24.123 回答
0

C++标准库不提供时间数据类型,但您可以通过包含 ctime在头文件中来做到这一点。

#include <ctime>
#include <iostream>
using namespace std;

int main() {
    time_t t = time(0);   // get time now
    struct tm * now = localtime( & t );
    cout << (now->tm_year + 1900) << '-' 
         << (now->tm_mon + 1) << '-'
         <<  now->tm_mday
         << endl;
}
于 2013-07-10T09:12:49.560 回答