2017-05-09 5 views
0

私はEpoch(Unix)時間の文字列を持っています。 現地時間で文字列に変換する必要があります。 コードはうまく機能しますが、ローカルではなく、UTCの時間を教えてください。 2017年9月5日21時55分44秒C++ Poco Epoch(Unix)時間はLocalTime文字列に変換されます

using Poco::Timestamp; 
using Poco::DateTimeFormatter; 

Timestamp timeStamp; 
timeStamp = Timestamp::fromEpochTime(jrnTime); 
timeFormatted = DateTimeFormatter::format(timeStamp, "%d-%m-%Y %H:%M:%S"); 

答えて

0

この目的のためにポコを使用する必要はありません。

#include <ctime> 
using std::time_t; 
using std::wstring; 
using std::string; 

string TimeStamp(time_t rawtime) { 
    char buffer[80]; 
    struct tm timeinfo; 
    localtime_s(&timeinfo, &rawtime); 
    strftime(buffer, sizeof(buffer), "%d-%m-%Y %H:%M:%S", &timeinfo); 
    return string(buffer); 
} 

wstring TimeStampW(time_t rawtime) { 
    wchar_t buffer[80]; 
    struct tm timeinfo; 
    localtime_s(&timeinfo, &rawtime); 
    wcsftime(buffer, sizeof(buffer), L"%d-%m-%Y %H:%M:%S", &timeinfo); 
    return wstring(buffer); 
} 
関連する問題