是否有一種簡單的方法可以獲得適用於iOS,OSX,Linux和Windows的時間(17:30,01:20等)?跨平臺的方式來獲得一天的時間?
如果不是有Windows方式和posix方式或東西?
感謝
是否有一種簡單的方法可以獲得適用於iOS,OSX,Linux和Windows的時間(17:30,01:20等)?跨平臺的方式來獲得一天的時間?
如果不是有Windows方式和posix方式或東西?
感謝
可以檢索與time_t now = time(NULL);
或time(&now);
的時間,那麼你通常轉換爲本地時間struct tm *tm_now = localtime(&now);
。 A struct tm
包含年,月,日,星期幾,小時,分鐘和秒的字段。如果你想產生可打印的輸出,strftime
直接支持。
這兩個都是C和C++標準,所以它們在大多數普通平臺上都可用。
如果你真的只關心C++,你可以使用std::put_time
,這與strftime
類似,但是在將輸出寫入流的典型情況下使用更簡單一些。
與C++ 11可以使用
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
std::time_t t = std::time(nullptr);
std::cout << "UTC: " << std::put_time(std::gmtime(&t), "%c %Z") << '\n'
<< "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n';
}
應能提供關於(任何平臺)
UTC:星期三12月28日11時47分03秒2011 GMT
地方:Wed Dec 28 06:47:03 2011 EST
雖然std::put_time()
(來自iomanip
)還沒有在gcc 4.7.0中實現。
它被添加了GCC 5.0 – TamaMcGlinn
你可以試試[這個答案](http://stackoverflow.com/questions/2494356/how-to-use-gettimeofday-or-something-equivalent-with-visual-studio-c-2008)和POSIX有'gettimeofday' – jxh
如果你必須穿越一個平臺,只是爲了獲得時間,這是愚蠢的。 –