我一直在試圖寫一個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