Tôi đã cố gắng để biên dịch this example program sử dụng GCC (thử nghiệm phiên bản 4.5.1, 4.6.3, 4.8.4):std :: Trạng thái thực hiện put_time trong GCC?
#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
using std::chrono::system_clock;
int main()
{
system_clock::time_point now = system_clock::now();
std::time_t now_c = system_clock::to_time_t(
now - std::chrono::hours(24));
std::cout << "One day ago, the time was "
<< std::put_time(std::localtime(&now_c), "%F %T") << '\n';
}
prog.cpp: In function 'int main()':
prog.cpp:14:18: error: 'put_time' is not a member of 'std'
Tôi nghĩ, có lẽ nó không phải đã được triển khai. Vì vậy, tôi đã cố gắng kiểm tra trạng thái triển khai cho chức năng này. Tôi chỉ tìm thấy trang này:
nhưng tôi không thể tìm thấy bất kỳ ghi chú về put_time
hoặc chrono
hay như nhau. Bất cứ ai có thể chỉ cho tôi một nguồn tài nguyên cung cấp thông tin về tình trạng thực hiện cho thư viện này?
GCC 4.9 đã được phát hành - có vẻ như nó không có trong đó, phải không? – ollo
@ollo Như [Jonathan đã xác nhận] (http://stackoverflow.com/questions/14136833/stdput-time-implementation-status-in-gcc/14137287?noredirect=1#comment35569824_14142342), gcc 4.9 vẫn thiếu các chức năng này. :(Vâng, đó là buồn. – Ali
Vâng, tôi vừa kiểm tra nguồn 4.9 quá, cảm ơn anyway. – ollo