【问题标题】:Compare dates to display only future events: PHP比较日期以仅显示未来事件:PHP
【发布时间】:2012-07-17 04:47:42
【问题描述】:

我的日期是这样的格式:

June 22, 2012

使用 PHP 的日期函数,我得到这样的日期:

date("F j, Y")

我使用 if 语句比较两者,希望消除所有已经过去的日期:

if(date("F j, Y") > $date)

但是,它可以工作,但只留下一个日期:

February 14, 2012

有人可以解释原因或告诉我更好的方法吗?

【问题讨论】:

  • 不要比较字符串,你会得到像Feb 2012 大于Dec 2012 这样的愚蠢的东西,因为在字母表中 F 在 D 之后。比较原生 PHP 时间戳 - 简单整数。

标签: php


【解决方案1】:

date() 返回一个字符串,因此在您的情况下,它仅返回大于文字字符串“2012 年 6 月 22 日”的字符串。尝试在 date() 调用中使用 strtotime(),例如

$today = strtotime($todays_date);

这将获取 date() 返回的时间字符串并将其转换为 unix 时间戳,您可以使用它来比较日期。

【讨论】:

  • 非常感谢!当你疲倦时,你会忽略什么,这真是太棒了!
猜你喜欢
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多