[英]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.