我有一個類需要包含一個時間變量。怎麼做?我想指定我與服務器進行通信,並在我收到的時間段中作爲響應,例如:2011-07-01T14:32:39 + 02:00 .APPRECIATE。 THX如何聲明和定義時間數據?
P.S我想使用C++ API。
我有一個類需要包含一個時間變量。怎麼做?我想指定我與服務器進行通信,並在我收到的時間段中作爲響應,例如:2011-07-01T14:32:39 + 02:00 .APPRECIATE。 THX如何聲明和定義時間數據?
P.S我想使用C++ API。
有幾種解決方案各有其他缺點。一種方法是計算時間戳並將其保存爲數字。另一種方法是使用boost date_time(如果你可以引入依賴來提升,我更喜歡)。這一切都取決於你需要做什麼與時間。如果你只需要保存它,並且不需要對它進行計算,甚至可以使用std :: string就足夠了。如果你需要對它進行非常簡單的操作,時間戳可能是足夠好的,也是最簡單的方法(但是你仍然有解析它的負擔)。對於複雜的東西,提升將是我首選的方式。
如果您可以使用boost,請轉至boost::posix_time::ptime
,因爲這易於使用。
#include <boost/date_time/posix_time/posix_time.hpp>
using boost::posix_time;
// local time with second precision
ptime currentTime(second_clock::localtime());
// UTC time with second precision
ptime currentTime(second_clock::universal_time());
// local time with microsecond precision
ptime currentTime(microsec_clock::localtime());
// UTC time with microsecond precision
ptime currentTime(microsec_clock::universal_time());
對於字符串,你可以使用下面的
std::string s = "2011-08-25 23:59:59.000";
// get ptime from a string
ptime t = time_from_string(s);
// get string from ptime
std::string s = to_simple_string(currentTime);
欲瞭解更多信息,請看看docs。
作爲客戶我只是想打印數據。但我想提一下,客戶在當前數據時間內填充課程也是可行的。所以你看到我需要用當前時間從班上填充變量的東西,因爲我已經在我的問題中提到過,並且還打印了它。 – sunset