Php mySQL日期时间和时间戳

Php mySQL日期时间和时间戳,php,mysql,mysqli,Php,Mysql,Mysqli,我想更新mysql行,其中DATETIMEselect from_unixtime(1454546656); +---------------------------+ |来自_unixtime(1454546656)| +---------------------------+ | 2016-02-04 06:14:16 | +---------------------------+ mysql>选择unix_时间戳('2014-06-21 17:56:00'); +-------

我想更新mysql行,其中DATETIME 日期时间就像:“2014-06-21 17:56:00”

时间戳类似于1454546656(现在是)

我想更新DATETIME在过去的所有行

处理大量行的最轻方法是什么


谢谢。

既然您正在使用PHP,请尝试使用PHP日期函数:

$ts = date("Y-m-d H:i:s", $timestamp); //Convert Unix Timestamp to MySQL Date/Time Format
UPDATE table WHERE DATETIME < '$ts';
$ts=date(“Y-m-dh:i:s”,$timestamp)//将Unix时间戳转换为MySQL日期/时间格式
更新DATETIME<“$ts”的表;

这是我能想到的最简单的方法,因为它不会重新计算每条记录的时间戳,而且,如果DateTime字段被索引,它将运行得非常快。

由于您使用的是PHP,请尝试使用PHP Date函数:

$ts = date("Y-m-d H:i:s", $timestamp); //Convert Unix Timestamp to MySQL Date/Time Format
UPDATE table WHERE DATETIME < '$ts';
$ts=date(“Y-m-dh:i:s”,$timestamp)//将Unix时间戳转换为MySQL日期/时间格式
更新DATETIME<“$ts”的表;

这是我能想到的最简单的方法,因为它不会重新计算每条记录的时间戳,而且,如果DateTime字段被索引,它将运行得非常快。

由于您使用的是PHP,请尝试使用PHP Date函数:

$ts = date("Y-m-d H:i:s", $timestamp); //Convert Unix Timestamp to MySQL Date/Time Format
UPDATE table WHERE DATETIME < '$ts';
$ts=date(“Y-m-dh:i:s”,$timestamp)//将Unix时间戳转换为MySQL日期/时间格式
更新DATETIME<“$ts”的表;

这是我能想到的最简单的方法,因为它不会重新计算每条记录的时间戳,而且,如果DateTime字段被索引,它将运行得非常快。

由于您使用的是PHP,请尝试使用PHP Date函数:

$ts = date("Y-m-d H:i:s", $timestamp); //Convert Unix Timestamp to MySQL Date/Time Format
UPDATE table WHERE DATETIME < '$ts';
$ts=date(“Y-m-dh:i:s”,$timestamp)//将Unix时间戳转换为MySQL日期/时间格式
更新DATETIME<“$ts”的表;

这是我能想到的最轻巧的方法,因为它不会重新计算每条记录的时间戳,而且,如果DateTime字段被索引,它将运行得非常快。

在mysql中,有两个函数

from_unixtime()
将unix时间转换为人类可读的日期

unix\u timestamp()
将人类可读的日期转换为时间戳

因此,您可以使用其中一个进行比较

这是它的样子

mysql> select from_unixtime(1454546656);
+---------------------------+
| from_unixtime(1454546656) |
+---------------------------+
| 2016-02-04 06:14:16       |
+---------------------------+


mysql> select unix_timestamp('2014-06-21 17:56:00');
+---------------------------------------+
| unix_timestamp('2014-06-21 17:56:00') |
+---------------------------------------+
|                            1403353560 |
+---------------------------------------+

mysql>  select unix_timestamp('2014-06-21 17:56:00') < 1454546656;
+----------------------------------------------------+
| unix_timestamp('2014-06-21 17:56:00') < 1454546656 |
+----------------------------------------------------+
|                                                  1 |
+----------------------------------------------------+

mysql>  select from_unixtime(1454546656) > '2014-06-21 17:56:00';
+---------------------------------------------------+
| from_unixtime(1454546656) > '2014-06-21 17:56:00' |
+---------------------------------------------------+
|                                                 1 |
+---------------------------------------------------+
mysql>select from_unixtime(1454546656);
+---------------------------+
|来自_unixtime(1454546656)|
+---------------------------+
| 2016-02-04 06:14:16       |
+---------------------------+
mysql>选择unix_时间戳('2014-06-21 17:56:00');
+---------------------------------------+
|unix_时间戳('2014-06-21 17:56:00')|
+---------------------------------------+
|                            1403353560 |
+---------------------------------------+
mysql>选择unix_时间戳('2014-06-21 17:56:00')<14545656;
+----------------------------------------------------+
|unix_时间戳('2014-06-21 17:56:00')<14545656|
+----------------------------------------------------+
|                                                  1 |
+----------------------------------------------------+
mysql>从_unixtime(1454546656)>“2014-06-21 17:56:00”中选择;
+---------------------------------------------------+
|来自_unixtime(1454546656)>“2014-06-21 17:56:00”|
+---------------------------------------------------+
|                                                 1 |
+---------------------------------------------------+

因此,这取决于您想要使用哪一个进行比较。

在mysql中,有两个函数

from_unixtime()
将unix时间转换为人类可读的日期

unix\u timestamp()
将人类可读的日期转换为时间戳

因此,您可以使用其中一个进行比较

这是它的样子

mysql> select from_unixtime(1454546656);
+---------------------------+
| from_unixtime(1454546656) |
+---------------------------+
| 2016-02-04 06:14:16       |
+---------------------------+


mysql> select unix_timestamp('2014-06-21 17:56:00');
+---------------------------------------+
| unix_timestamp('2014-06-21 17:56:00') |
+---------------------------------------+
|                            1403353560 |
+---------------------------------------+

mysql>  select unix_timestamp('2014-06-21 17:56:00') < 1454546656;
+----------------------------------------------------+
| unix_timestamp('2014-06-21 17:56:00') < 1454546656 |
+----------------------------------------------------+
|                                                  1 |
+----------------------------------------------------+

mysql>  select from_unixtime(1454546656) > '2014-06-21 17:56:00';
+---------------------------------------------------+
| from_unixtime(1454546656) > '2014-06-21 17:56:00' |
+---------------------------------------------------+
|                                                 1 |
+---------------------------------------------------+
mysql>select from_unixtime(1454546656);
+---------------------------+
|来自_unixtime(1454546656)|
+---------------------------+
| 2016-02-04 06:14:16       |
+---------------------------+
mysql>选择unix_时间戳('2014-06-21 17:56:00');
+---------------------------------------+
|unix_时间戳('2014-06-21 17:56:00')|
+---------------------------------------+
|                            1403353560 |
+---------------------------------------+
mysql>选择unix_时间戳('2014-06-21 17:56:00')<14545656;
+----------------------------------------------------+
|unix_时间戳('2014-06-21 17:56:00')<14545656|
+----------------------------------------------------+
|                                                  1 |
+----------------------------------------------------+
mysql>从_unixtime(1454546656)>“2014-06-21 17:56:00”中选择;
+---------------------------------------------------+
|来自_unixtime(1454546656)>“2014-06-21 17:56:00”|
+---------------------------------------------------+
|                                                 1 |
+---------------------------------------------------+

因此,这取决于您想要使用哪一个进行比较。

在mysql中,有两个函数

from_unixtime()
将unix时间转换为人类可读的日期

unix\u timestamp()
将人类可读的日期转换为时间戳

因此,您可以使用其中一个进行比较

这是它的样子

mysql> select from_unixtime(1454546656);
+---------------------------+
| from_unixtime(1454546656) |
+---------------------------+
| 2016-02-04 06:14:16       |
+---------------------------+


mysql> select unix_timestamp('2014-06-21 17:56:00');
+---------------------------------------+
| unix_timestamp('2014-06-21 17:56:00') |
+---------------------------------------+
|                            1403353560 |
+---------------------------------------+

mysql>  select unix_timestamp('2014-06-21 17:56:00') < 1454546656;
+----------------------------------------------------+
| unix_timestamp('2014-06-21 17:56:00') < 1454546656 |
+----------------------------------------------------+
|                                                  1 |
+----------------------------------------------------+

mysql>  select from_unixtime(1454546656) > '2014-06-21 17:56:00';
+---------------------------------------------------+
| from_unixtime(1454546656) > '2014-06-21 17:56:00' |
+---------------------------------------------------+
|                                                 1 |
+---------------------------------------------------+
mysql>select from_unixtime(1454546656);
+---------------------------+
|来自_unixtime(1454546656)|
+---------------------------+
| 2016-02-04 06:14:16       |
+---------------------------+
mysql>选择unix_时间戳('2014-06-21 17:56:00');
+---------------------------------------+
|unix_时间戳('2014-06-21 17:56:00')|
+---------------------------------------+
|                            1403353560 |
+---------------------------------------+
mysql>选择unix_时间戳('2014-06-21 17:56:00')<14545656;
+----------------------------------------------------+
|unix_时间戳('2014-06-21 17:56:00')<14545656|
+----------------------------------------------------+
|                                                  1 |
+------------------------