gpt4 book ai didi

php 比较日变化的日期

转载 作者:可可西里 更新时间:2023-11-01 12:32:02 26 4
gpt4 key购买 nike

我在 SO 上找到了数百个与此类似主题的问题和答案,但是,没有一个特别符合我的需求,我很困惑。

我有一个 y-m-d 格式的变量,我需要查看它是否是在前一个日历日创建的(不是 24 小时前,而是在前一个日历日)。

即。$tDate = '12-05-2';

如果对象创建于 2012 年 5 月 2 日晚上 11:59(存储时间),我需要与 2012 年 5 月 3 日上午 12:01(当前时间)进行比较以等于 true。

如果对象创建于 2012 年 5 月 2 日晚上 11:51(存储时间),我需要与 2012 年 5 月 2 日晚上 11:58(当前时间)进行比较以等于 false。

我知道如果这些存储在 MySQL 数据库中并从字段中提取,MySQL 可以轻松解决。然而,在这种情况下,该解决方案不是一种选择。

这种比较必须完全在 php 中完成。

我知道这是一个古怪的问题,但是嘿,这就是 StackOverflow 的专家擅长的!期待看到回复!

更新

计算如下:

    $dTest = '12-05-02';
$dTest = explode('-',$dTest);
$dTest2 = date('y-m-d');
$dTest2 = explode('-',$dTest2);

if ($dTest[2]<$dTest2[2]){
echo '<br />Posted Yesterday<br />';
} else {
echo '<br />Posted Today<br />';
}

有没有更高效的解决方案?似乎可行,但我认为必须有更优化/更优雅的解决方案?

已解决

$tHolder = '12-05-12';
$voteDate = date("y-m-d", strtotime($tHolder));
$today = date("y-m-d", strtotime("today"));

if ($voteDate === $today)
{
echo "this was today's post";
}
elseif ($voteDate < $today)
{
echo "this was previous to today";
}

最佳答案

首先 - 我认为您的“解决方案”行不通。当今天的日期是 12-06-01 而帖子是在 12-05-31 时会发生什么 - 它会给出错误的答案,因为“31”>“1”

无论如何 - 我认为正确答案是:

$yesterday =date("y-m-d", strtotime("yesterday"));
$today = date("y-m-d", strtotime("today"));


if ($yesterday === $tDate)
{
echo "this was yesterdays post";
}
elseif ($today === $tDate)
{
echo "this was todays post";
}
else
{
echo "this was NOT yesterday or today":
}

关于php 比较日变化的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com