PHP:如何检查日期是今天,昨天还是明天

R2D2

我想检查一下日期是今天,明天,昨天还是其他日期。但是我的代码不起作用。

码:

$timestamp = "2014.09.02T13:34";
$date = date("d.m.Y H:i");
$match_date = date('d.m.Y H:i', strtotime($timestamp));

if($date == $match_date) { 

    //Today

} elseif(strtotime("-1 day", $date) == $match_date) {

    //Yesterday

} elseif(strtotime("+1 day", $date) == $match_date) {

    //Tomorrow

} else {

    //Sometime

}

在其他情况下,本准则始终适用。

尼古拉

第一。您在使用函数时出错,strtotime请参见PHP文档

int strtotime ( string $time [, int $now = time() ] )

您需要修改代码以将整数时间戳传递给此函数。

第二。您使用的格式为dmY H:i,其中包含时间部分。如果只想比较日期,则必须删除时间部分,例如`$ date = date(“ dmY”);``

第三。我不知道这是否以同样的方式对你的作品,但我的PHP不会明白的日期格式$timestamp,并返回01.01.1970 02:00$match_date

$timestamp = "2014.09.02T13:34";
date('d.m.Y H:i', strtotime($timestamp)) === "01.01.1970 02:00";

您需要检查是否strtotime($timestamp)返回正确的日期字符串。如果否,则需要指定$timestamp变量中使用的格式您可以使用以下功能之一date_parse_from_formatDateTime :: createFromFormat来执行此操作

这是一个工作示例:

$timestamp = "2014.09.02T13:34";

$today = new DateTime(); // This object represents current date/time
$today->setTime( 0, 0, 0 ); // reset time part, to prevent partial comparison

$match_date = DateTime::createFromFormat( "Y.m.d\\TH:i", $timestamp );
$match_date->setTime( 0, 0, 0 ); // reset time part, to prevent partial comparison

$diff = $today->diff( $match_date );
$diffDays = (integer)$diff->format( "%R%a" ); // Extract days count in interval

switch( $diffDays ) {
    case 0:
        echo "//Today";
        break;
    case -1:
        echo "//Yesterday";
        break;
    case +1:
        echo "//Tomorrow";
        break;
    default:
        echo "//Sometime";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查日期是今天的日期还是昨天的日期

如何以今天,明天,昨天的形式获取生日日期?

Swift-检查时间戳记是昨天,今天,明天还是X天之前

如何使用MySQL创建今天,明天和昨天

如何使用DateFormatter显示昨天,今天和明天

Moment.js:获取与今天相关的日期(即“明天,今天,昨天等”)

检查DateTime值是今天,明天还是以后

PHP获取今天和昨天的日期

如何显示今天和昨天的使用日期?

PHP检查日期是今天还是将来的7天

如何用MomentJS正确检查日期是相同的还是今天以后的?

如何快速获取今天和明天的日期4

如何用“今天”或“明天”将“ sed”替换为日期

Discord如何格式化今天和昨天的日期?

使用日期和时间戳如何获取昨天。今天等

如何使用DateComponentsFormatter将日期显示为“今天”或“昨天”?

迅速3如何获得明天和昨天的日期(请注意特殊情况)新月或新年

如何在PHP中按日期(今天,昨天,8月29日,28等)对SQL中的foreach项目进行排序?

moment.js-测试日期是今天,昨天还是一周或两周前

如何检查今天的日期=来自sql的日期?

在Java中比较日期。今天,明天搜索

输入今天的日期获取明天的输出

如何使用php获取昨天的日期?

Moment JS-检查日期是今天还是将来

WordPress:检查日期是今天还是已经过去

日期验证-如何本地化/翻译“今天”和“明天”字符串

如何停止dialogflow始终返回应该解析为今天和明天的日期

PHP,从日期获取明天的日期

今天和明天的PHP Display Hour范围