我在Linux下使用C ++而且我承认,在阅读了很多关于主题的帖子之后,time_t
,struct
tm
,time
感到困惑,ctime
和strftime
。
我需要做的是获取当前系统日期/时间,将其转换为UTC并存储在数据库中。稍后我需要检索该日期/时间并以人类可读的格式在屏幕上打印。
我使用的是Oracle(TIMESTAMP
),mySQL(DATETIME
)和Sqlite3(没有日期时间字段,存储在INT
或VARCHAR()
上)。
最重要的是我需要考虑DST时间来存储当前时区的日期/时间,因为当我返回结果时,我可以恢复DST的原始时区以便显示正确的信息。
类似的东西:
// Get current time
std::time_t now = std::time(0);
// Convert it to Oracle ???
? oracletime = ?;
// Convert it to mySQl ???
? mysqltime = ?;
// store it on Sqlite3
int sqlite3time = now;
// print the time
std::cout << now << std::endl;
这里正确的转换步骤是什么?
感谢您的帮助。