2017-05-09 4 views
0

J'ai une chaîne avec le temps Epoch (Unix). Besoin de le convertir en chaîne avec l'heure locale. Le code ci-dessous fonctionne, mais donnez-moi l'heure UTC, pas locale. 09-05-2017 21:55:44C++ Poco Epoch (Unix) temps converti en chaîne LocalTime

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

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

Répondre

0

Ne pas besoin d'utiliser Poco à cet effet.

#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); 
}