这就是我要做的:转换的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