Php mySQL日期时间和时间戳
我想更新mysql行,其中DATETIMEPhp 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'); +-------
谢谢。既然您正在使用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 |
+------------------------