将 MYSQL 时间戳转换为 time_t
我正在编写一个多线程程序,需要能够检查一行是否需要更新并采取相应的行动。
我在使用 MySql 的内置日期/时间函数时遇到问题,因此决定将“lastupdate”时间戳作为整数存储在表中。但是,我在将此时间戳转换为 time_t 时遇到问题,以便我可以使用时间函数。
非常感谢任何帮助。
I'm writing a multi-threaded program that needs to be able to check if a row requires updating and act accordingly.
I had problems using the built in date/time functions of MySql and so decided to just store the "lastupdate" timestamp as an integer in the table. However, I'm having problems converting this timestamp to time_t so that I can use the time functions with it.
Any help is greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
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;
The MySql timestamp data type can be stored as a number in either YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, or YYMMDD format.
In Unix and POSIX-compliant systems, time_t is typically an integer which represents the number of seconds since the start of the Unix epoch: midnight UTC of January 1, 1970.
In MySQL you can use the UNIX_TIMESTAMP() and FROM_UNIXTIME() functions convert between TIMESTAMP values and Unix timestamp values.
Query Example:
SELECT Unix_Timestamp(Date_Entered) FROM Foo;
尝试 FROM_UNIXTIME 和 TO_UNIXTIME 并将日期保留为数据库中的日期。
Try FROM_UNIXTIME and TO_UNIXTIME and leave your dates as dates in the database.