【问题标题】:PHP: Select from mysql where 1 week's left to datetime?PHP:从 mysql 中选择距离日期时间还有 1 周?
【发布时间】:2017-02-18 19:13:02
【问题描述】:

我在 MYSQL 数据库中有一个日期时间字段。

它们看起来像这样:

2017-02-28 00:15:07

我需要使用 PHP 从该字段中选择并返回到该日期还有 1 周的所有结果...

是否有任何内置的 PHP 功能可以做到这一点?

类似:

SELECT * FROM tableName WHERE 1 week left to (column name)

任何帮助将不胜感激。

【问题讨论】:

  • 1 week left to 是什么意思?该日期前 1 周?
  • @chris85,是的。正确。
  • 喜欢这个? sqlfiddle.com/#!9/e388fc/1 ... 还是需要在 PHP 中?

标签: php mysql datetime


【解决方案1】:

你可以像下面这样使用间隔:

SELECT *  FROM tableName 
WHERE NOW() BETWEEN (column_date - INTERVAL 1 WEEK) AND column_date;

这会让您知道 now 是否介于 column date - 1 weekcolumn date 之间。

【讨论】:

  • SQL Fun 的绝佳选择
【解决方案2】:

可以使用 date_sub 和 date_create_from_date_string

这是用于 php 的

date_sub($date,date_interval_create_from_date_string("7 days"));

http://php.net/manual/en/dateinterval.construct.php

对于选择查询

select *  FROM tableName 
WHERE your_column_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 week) AND NOW();

【讨论】:

  • 如何在选择查询中使用它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-07
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 2014-05-29
相关资源
最近更新 更多