将MYSQL时间戳转换为time_t

时间:2010-01-14 20:46:29

标签: c++ mysql datetime time-t

我正在编写一个多线程程序,需要能够检查行是否需要更新并相应地执行操作。

我在使用MySql的内置日期/时间函数时遇到了问题,因此决定只将“lastupdate”时间戳存储为表中的整数。但是,我在将此时间戳转换为time_t时遇到问题,以便我可以使用时间函数。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:7)

MySql timestamp数据类型可以存储为YYYYMMDDHHMMSS,YYMMDDHHMMSS,YYYYMMDD或YYMMDD格式的数字。

在Unix和POSIX兼容系统中,time_t通常是一个整数,表示自Unix纪元开始以来的秒数:1970年1月1日的午夜UTC。

在MySQL中,您可以使用UNIX_TIMESTAMP()FROM_UNIXTIME()函数在TIMESTAMP值和Unix时间戳值之间进行转换。

查询示例:SELECT Unix_Timestamp(Date_Entered) FROM Foo;

答案 1 :(得分:4)

尝试FROM_UNIXTIME和TO_UNIXTIME,并将日期作为日期保留在数据库中。