Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将字符串格式化为日期_C++_String_Date - Fatal编程技术网

C++ 将字符串格式化为日期

C++ 将字符串格式化为日期,c++,string,date,C++,String,Date,我有一个字符串日期,我需要将其格式化为日期(dd.mm.yyyy)。我该怎么做?是否有一些函数可以简化格式化 LE:“编写一个C++程序,帮助你管理任务……任务有一个唯一的格式、ID、描述、日期(字符串具有“d.mm·yyyy”格式,例如,107.7.2013)。

我有一个
字符串日期
,我需要将其格式化为日期(dd.mm.yyyy)。我该怎么做?是否有一些函数可以简化格式化


LE:“编写一个C++程序,帮助你管理任务……任务有一个唯一的格式、ID、描述、日期(字符串具有“d.mm·yyyy”格式,例如,107.7.2013)。<

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

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

sscanf(....)

和提取要分配给时间结构的单个项。

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;
}
#包括
#包括
使用名称空间std;
int main(){
time_t=time(0);//立即获取时间
struct tm*now=localtime(&t);

cout tm_year+1900)试试这个,这会给你一个字符的系统时间[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年7月10日”?它包含什么?@Matt:如果字符串包含格式为
dd.mm.yyyy
的日期,为什么还要对其进行格式化?这毫无意义!您应该提供一个关于您的问题的最小示例,因为您的问题和注释目前具有误导性。请不要将解析与格式化混淆…可能是编辑问题估计也会有帮助。如果你发现自己困惑或缺乏恰当描述问题的词语,最好给出一个输入和输出的示例。例如,“我有一个
string date=“01.01.1970”
。我想要一个
c++
date对象,或者我想要一个“01-01-1970”如果是C++ + CLI,则应该标记为这样,而不是C++标记。“类模板STD::Timo::TimeSyPoT表示一个时间点。”我认为这是合格的。