我一直在试图写一个C++程序,这需要我做日期算术。 例如今天的日期(9-30-2014)减去4天,并且返回9-26-2014,或今天的日期加上3天返回10-3-2014。 我原来的思维过程是使用日期算术
的ctime
将在几秒钟内从1970年1月1日返回日期,我可以再加入或减去固定的秒数的天数并将结果传递到“put_time”的
了iomanip
的一部分,开始我只是试图让这个方法打印正确的日期,但我不能让编译器识别“put_time”
我我使用eclipse版本(4.4.0) 和“版本4.1.11(2) - 发行版(x86_64-unknown-cygwin)”作为编译器
从研究中我发现“put_time”只包含在某些C++的版本和我试图运行此命令
`-std=c++0x`
但是我仍然收到了同样的错误“‘put_time’在此范围内未声明”
任何想法,将不胜感激
这是我到目前为止运行的代码!
//============================================================================
// Name : Date.cpp
// Author : me
// Version :
// Copyright : Your copyright notice
// Description : date calculations
//============================================================================
#include <iostream>
#include <iomanip> // std::put_time
#include <ctime> // std::time_t, struct std::tm, std::localtime
#include <chrono> // std::chrono::system_clock
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
time_t timer;
time(&timer);
cout << timer;
struct tm * ptm = localtime(&timer);
cout << put_time(ptm,"%c");
return 0;
}
“version 4.1.11(2)-release(x86_64-unknown-cygwin)”不是编译器,它是编译器*版本*。哪个编译器是它的版本?当前的cygwin gcc是4.9.0,并且从来没有4.1.11版本(* 2007 *中的最后一个4.1.x gcc)。 – molbdnilo 2014-09-30 21:31:48