MySQL时间戳的奇怪strtotime转换

发布于 2024-12-05 13:41:52 字数 977 浏览 4 评论 0原文

我有一个 MySQL 字段,它以以下格式提供时间戳:YYYY-MM-DD HH:MM:SS。默认值为 CURRENT_TIMESTAMP。现在,当我尝试将其转换为 Unix 时间戳时,我得到了一些奇怪的结果。

实际上,我正在使用 这个 函数来计算相对时间。即使 MySQL 时间戳仅比之前几秒,它也会输出负整数。我不知道出了什么问题。

我还发现了一些奇怪的问题。例如,在 MySQL 中,

mysql> select from_unixtime(1289206455);
+---------------------------+
| from_unixtime(1289206455) |
+---------------------------+
| 2010-11-08 14:24:15       |
+---------------------------+
1 row in set (0.03 sec)

在 PHP CLI 中:

php -r "echo date('Y-m-d h:m:s', 1289206455);"
2010-11-08 09:11:15

假定的输出(在两种情况下)应为: 2010-11-08 02:54:15 来源

所以PHP和MySQL似乎在时间上存在差异。我怎样才能同步它们?我使用的是 Ubuntu 11.04 XAMPP。

谢谢

I have a MySQL field that gives me timestamp in the format: YYYY-MM-DD HH:MM:SS. The default is CURRENT_TIMESTAMP. Now, when I try to convert it to Unix timestamp, I get some weird results.

Actually, I am using this function to calculate relative time. It outputs negative integers even though MySQL timestamp is only a couple of seconds older. I am at a loss as to what's wrong.

I also found some weird issues. For example, in MySQL,

mysql> select from_unixtime(1289206455);
+---------------------------+
| from_unixtime(1289206455) |
+---------------------------+
| 2010-11-08 14:24:15       |
+---------------------------+
1 row in set (0.03 sec)

In PHP CLI:

php -r "echo date('Y-m-d h:m:s', 1289206455);"
2010-11-08 09:11:15

The supposed output (in both cases) should be: 2010-11-08 02:54:15 source.

So there seems to be a difference in times in PHP and MySQL. How can I sync them? I am on Ubuntu 11.04 XAMPP.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文