[英]PostgreSQL : SQL timestamp to Unix timestamp using libpq
我知道我可以使用以下方法將SQL時間戳轉換為unix時間戳。
SELECT extract(epoch FROM now());
現在,我有一個存儲過程函數,它將直接將一個表行返回給調用者。 其中一個行字段是“timestamp”類型。
在我的應用程序中,我使用的是libpq。 我希望使用libpq函數(或任何c / c ++函數)將“2010-01-11 13:10:55.283”轉換為unix時間戳。 當然,我可以創建另一個名為的存儲過程
SQLTimestamp2UnixTimestamp
SELECT extract(epoch FROM $1);
但我只希望通過單個c / c ++函數調用來完成此任務,而不涉及存儲過程。
有什么建議嗎? 謝謝!
為什么不簡單(未經測試):
/* PostgreSQL sent "date" */
strptime(date, "%Y-%m-%d %H:%M:%S", &result);
然后
strftime(epoch, MAX, "%s", result);
/* print epoch */
boost::posix_time::ptime t(boost::posix_time::time_from_string(ts));
boost::posix_time::ptime start(boost::gregorian::date(1970,1,1));
boost::posix_time::time_duration dur = t - start;
time_t epoch = dur.total_seconds();
long timestamp = static_cast<long>(epoch);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.