将字符串格式化为日期

时间:2013-07-10 08:43:12

标签: c++ string date

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

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

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

您必须更具体地使用您正在使用的C ++。如果是C ++ / CLI,则可以使用

DateTime::Parse

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

sscanf(....)

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

答案 2 :(得分: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;
}