簡體   English   中英

C++ Poco Epoch(Unix) 時間轉換為 LocalTime 字符串

[英]C++ Poco Epoch(Unix) time convert to LocalTime string

我有一個帶有 Epoch(Unix) 時間的字符串。 需要使用本地時間將其轉換為字符串。 下面的代碼有效,但給我 UTC 時間,而不是本地時間。 09-05-2017 21:55:44

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

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

您可以使用Poco::LocalDateTime ,它接受Poco::DateTimetzd並轉換為本地日期時間。

不需要為此目的使用 Poco。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM