将MYSQL时间戳转换为time_t
问题描述:
我正在编写一个多线程程序,需要能够检查一行是否需要更新并采取相应措施。将MYSQL时间戳转换为time_t
我在使用MySql的内置日期/时间函数时遇到问题,因此决定在表中将整个“lastupdate”时间戳存储起来。但是,我在将此时间戳转换为time_t时遇到问题,因此我可以使用时间函数。
任何帮助,非常感谢。
答
MySql timestamp数据类型可以以YYYYMMDDHHMMSS,YYMMDDHHMMSS,YYYYMMDD或YYMMDD格式存储为数字。
在Unix和POSIX兼容的系统,time_t通常代表自Unix纪元开始的秒数的整数:1月1日午夜UTC,1970年
在MySQL中,你可以使用UNIX_TIMESTAMP()和FROM_UNIXTIME()函数在TIMESTAMP值和Unix时间戳值之间进行转换。
查询示例:SELECT Unix_Timestamp(Date_Entered) FROM Foo;
答
尝试FROM_UNIXTIME和TO_UNIXTIME,并将日期保留为数据库中的日期。
你作出有关的名称错误'转换到MYSQL_ROW代替time_t'的'转换时间戳time_t' – kjagiello 2010-01-14 20:48:55