我正在编写一个多线程程序,需要能够检查行是否需要更新并相应地执行操作。
我在使用MySql的内置日期/时间函数时遇到了问题,因此决定只将“lastupdate”时间戳存储为表中的整数。但是,我在将此时间戳转换为time_t时遇到问题,以便我可以使用时间函数。
非常感谢任何帮助。
答案 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,并将日期作为日期保留在数据库中。