Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
unix时间戳和php_Php_Mysql_Strtotime_Timestamp - Fatal编程技术网

unix时间戳和php

unix时间戳和php,php,mysql,strtotime,timestamp,Php,Mysql,Strtotime,Timestamp,我在数据库中有一个unix时间戳列表,我想选择今天的时间戳 i、 如果今天是星期二,我想得到今天制作的所有时间戳?可能吗?有没有像今天这样的时间 任何帮助都非常有用。您可以使用它生成一天开始的时间戳,然后查找时间戳大于该时间戳的数据库条目。您可以使用它生成一天开始的时间戳,然后查找时间戳大于该时间戳的数据库条目。检查日期(NOW())和月份(NOW()))年(NOW())等于日(timestamp)、月(timestamp)和年(timestamp)的适当值 检查日(现在())和月(现在())以

我在数据库中有一个unix时间戳列表,我想选择今天的时间戳

i、 如果今天是星期二,我想得到今天制作的所有时间戳?可能吗?有没有像今天这样的时间

任何帮助都非常有用。

您可以使用它生成一天开始的时间戳,然后查找时间戳大于该时间戳的数据库条目。

您可以使用它生成一天开始的时间戳,然后查找时间戳大于该时间戳的数据库条目。

检查日期(NOW())和月份(NOW()))年(NOW())等于日(timestamp)、月(timestamp)和年(timestamp)的适当值

检查日(现在())和月(现在())以及年(现在())是否等于日(时间戳)和月(时间戳)以及年(时间戳)的适当值


您可以使用
FROM_UNIXTIME()
将unix时间戳转换为sql中的sql日期,然后将其与
NOW()进行比较


您可以使用
FROM_UNIXTIME()
将unix时间戳转换为sql中的sql日期,然后将其与
NOW()进行比较

如果您使用的是mysql:

SELECT * FROM table WHERE DATE(NOW()) = DATE(FROM_UNIXTIME(timestampcol))
如果您使用的是mysql:

SELECT * FROM table WHERE DATE(NOW()) = DATE(FROM_UNIXTIME(timestampcol))
可以与()进行比较,假设您使用的是MySQL

SELECT * FROM mytable WHERE FROM_UNIXTIME(datefield,'%Y-%m-%d') = CURDATE();
预计到达时间: 好吧,当这个答案被记下来的时候,我被怀疑了。所以我去做了几个测试。考虑到MySQL,它肯定有效。那么为什么是downmod呢

考虑这个测试,它为表中的每一行输出两个相同的字段:

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURDATE()),'%Y-%m-%d')  a , CURDATE() b
  FROM tablewithsomerows 
  WHERE FROM_UNIXTIME(UNIX_TIMESTAMP(CURDATE()),'%Y-%m-%d') = CURDATE();
可以与()进行比较,假设您使用的是MySQL

SELECT * FROM mytable WHERE FROM_UNIXTIME(datefield,'%Y-%m-%d') = CURDATE();
预计到达时间: 好吧,当这个答案被记下来的时候,我被怀疑了。所以我去做了几个测试。考虑到MySQL,它肯定有效。那么为什么是downmod呢

考虑这个测试,它为表中的每一行输出两个相同的字段:

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CURDATE()),'%Y-%m-%d')  a , CURDATE() b
  FROM tablewithsomerows 
  WHERE FROM_UNIXTIME(UNIX_TIMESTAMP(CURDATE()),'%Y-%m-%d') = CURDATE();
然后,您可以选择时间戳位于上述两个时间戳之间的位置:

"SELECT FROM `foo` WHERE `timestamp` BETWEEN '{$start}' and '{$end}'"
然后,您可以选择时间戳位于上述两个时间戳之间的位置:

"SELECT FROM `foo` WHERE `timestamp` BETWEEN '{$start}' and '{$end}'"

这不起作用-原始post声明该日期存储为unix时间戳。这不起作用-原始post声明该日期存储为unix时间戳。FROM_UNIXTIME()是一个仅限MySQL的函数。sea_1987没有说明他拥有什么DBMS。公平地说,你知道他们对假设的看法@symcbean是绝对正确的,但是当语言是PHP时,mySQL在统计上是一个很好的猜测。sea_1987没有说明他拥有什么DBMS。公平地说,你知道他们对假设的看法@symcbean是绝对正确的,但是当语言是PHP时,mySQL在统计上是一个很好的猜测。此外,您可以使用
getdate()
作为
mktime()
的信息源,将时间值设置为0。(我仅假设您使用UTC值,并且仅为显示目的进行时区转换。)此外,您可以使用
getdate()
作为
mktime()
的信息源,将时间值设置为0。(我唯一的假设是您使用UTC值,并且仅为显示目的进行时区转换。)您可以假设它是Mysql,因为没有另外指定;)@TBH:嗯,是的。但是有人因为这个假设而拿走了代表分数。对不起,我错了。已经修复。您可以假设它是Mysql,因为没有另外指定;)@TBH:嗯,是的。但是有人因为这个假设而拿走了代表分数。对不起,我错了。已经修好了。