请教大师,MYSQL如何根据UNIX时间戳,判定一周范伟内的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教大师,MYSQL如何根据UNIX时间戳,判定一周范伟内的数据相关的知识,希望对你有一定的参考价值。
数据就是这样的.如图片,但是我想根据那个dateline 找出一周内的数据,应就是,从今天起,往前一个礼拜 该怎么写呢
$sql = '........... WHERE `dateline`>'.$time-604800;
//604800 = 60秒 × 60分钟 × 24小时 × 7天
如果是今天零点起往前一个星期应该是:
$sql = '............ WHERE `dateline`>'.strtotime(date('Ymd').' 00:00:00'); 参考技术B 应该这样写如果从当前时间算前一周的时间:
$awt=time()-3600*24*7;
今天之前的一周时间:
$awt=strtotime(date('Y-m-d'))-3600*24*7;
$sql="select * from tablename where dateline>$awt"; 参考技术C select * from 表
where dateline > (unix_timestamp()-3600*24*7)本回答被提问者采纳
如何使用 PHP 将 MySQL 时间转换为 UNIX 时间戳?
【中文标题】如何使用 PHP 将 MySQL 时间转换为 UNIX 时间戳?【英文标题】:How to convert MySQL time to UNIX timestamp using PHP? 【发布时间】:2011-06-02 10:39:17 【问题描述】:有很多关于“UNIX 时间戳到 MySQL 时间”的问题。我需要相反的方式,是的...有什么想法吗?
【问题讨论】:
【参考方案1】:使用strtotime(..)
:
$timestamp = strtotime($mysqltime);
echo date("Y-m-d H:i:s", $timestamp);
也检查一下(以 MySQL 方式进行。)
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp
【讨论】:
使用 strtotime 时要注意时区。看到这个问题:***.com/questions/10417179/…【参考方案2】:你可以直接从你的查询中获取mysql的UNIX_TIMESTAMP
函数,这里是一个例子:
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
同样,你可以传入日期/日期时间字段:
SELECT UNIX_TIMESTAMP(yourField);
【讨论】:
如果该字段是 TIME 字段,只有 DATE、DATETIME 或包含天、月和年的字符串,则该字段将不起作用【参考方案3】:从我的其他帖子中,获得了一个 unixtimestamp:
$unixTimestamp = time();
转换为mysql日期时间格式:
$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);
获取一些mysql时间戳:
$mysqlTimestamp = '2013-01-10 12:13:37';
将其转换为 unixtimestamp:
$unixTimestamp = strtotime('2010-05-17 19:13:37');
...将其与一个或一系列时间进行比较,以查看用户输入的时间是否真实:
if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
...
Unix 时间戳也更安全。在检查(例如)之前的范围检查之前,您可以执行以下操作来检查 url 传递的变量是否有效:
if(ctype_digit($_GET["UpdateTimestamp"]))
...
【讨论】:
【参考方案4】:$time_PHP = strtotime( $datetime_SQL );
【讨论】:
对为什么这个回答问题的一些解释将使回答更有用。 (我知道那里可能还有很多其他的单行答案,但它们还没有被添加) 问题是如何将$mysql_timestamp转换成$php_timestamp,答案是“strtotime”做的,如图。有什么好解释的?【参考方案5】:您应该在 PHP 中使用 DateTime
而不是 strtotime
。你也可以这样看待时区:
$dt = DateTime::createFromFormat('Y-m-d H:i:s', $mysqltime, new DateTimeZone('Europe/Berlin'));
$unix_timestamp = $dt->getTimestamp();
$mysqltime
是 MySQL Datetime 类型,例如。 G。 2018-02-26 07:53:00
.
【讨论】:
【参考方案6】:稍微缩写可以是...
echo date("Y-m-d H:i:s", strtotime($mysqltime));
【讨论】:
简直像个笑话 :)以上是关于请教大师,MYSQL如何根据UNIX时间戳,判定一周范伟内的数据的主要内容,如果未能解决你的问题,请参考以下文章