這就是我要做的:轉換的C倍++
- 取得本地時間(從系統);
- 將該時間轉換爲UTC格式並將其與當前對象的某個成員變量相關聯。
- 稍後,考慮到用戶的時區,我希望將其轉換爲正確的本地時間並將其顯示給用戶。
仰望的SO和CppReference幾件事情,我能想出下面的代碼片段:
#include <iostream>
#include <iomanip>
#include <ctime>
#include <string>
using namespace std;
int main()
{
time_t lt = std::time(0);
//time(0) gives current time, but LTime shows the UTC time (not local time)
string LTime = std::ctime(<); //localtime() gives error
cout<<LTime;
//timestamp = mktime(&tm) - timezone;
//time_t timestamp = mktime(&tm) - _timezone;
//std::cout << "timestamp: " << std::put_time(timestamp, "%c %Z") << '\n';
return 0;
}
- 上cppreference.com的例子說明如何值可以使用
put_time()
印刷;但如何將它存儲在一個變量? - 如何將UTC時間格式轉換爲當前時區(給定一些時區作爲輸入)?我嘗試使用上面的註釋代碼this link,但它不包含任何參數。
考慮C++的時辰庫設置時區。 – Charles
@Charles,我們可以使用它來處理時區嗎?我們如何去改變它中的時區? –
這裏有一個叫[std :: localtime](http://en.cppreference.com/w/cpp/chrono/c/localtime) – Charles