需要了解php函数的帮助吗

需要了解php函数的帮助吗,php,function,date,Php,Function,Date,需要帮助理解为什么这不起作用。我有一个文本,它只在给定的开始日期和时间可见,在结束日期和时间被删除 这是我正在使用的代码,它工作得很好。文本在一个月内可见,没有问题: <?php if ( date('Y/m/d H:i') >= "2017/04/06 08:00" && date('Y/m/d H:i') <= "2017/05/06 20:00" ) { echo "$text_1"; }

需要帮助理解为什么这不起作用。我有一个文本,它只在给定的开始日期和时间可见,在结束日期和时间被删除

这是我正在使用的代码,它工作得很好。文本在一个月内可见,没有问题:

<?php 
     if ( date('Y/m/d H:i') >= "2017/04/06 08:00" && 
          date('Y/m/d H:i') <= "2017/05/06 20:00" ) { 
         echo "$text_1"; 
     } else { 
         echo "$text_2"; 
     }
?>

这是我希望能够写出日期的方式,但它没有按照预期的方式工作:

<?php 
     if ( date('d/m/Y H:i') >= "06/04/2017 08:00" && 
          date('d/m/Y H:i') <= "06/05/2017 20:00" ) { 
         echo "$text_1"; 
     } else { 
         echo "$text_2"; 
     }
?>


它不考虑月份或年份。为什么呢?这将只显示一天而不是一个月的文本。

将日期更改为时间戳,然后进行比较。格式无关紧要

if ( strtotime(date("Y-m-d H:i")) >= strtotime("06/04/2017 08:00") && 
    strtotime(date("Y-m-d H:i")) <= strtotime("06/05/2017 20:00" )) { 
    echo "$text_1"; 
} 
else { 
    echo "$text_2"; 
}

日期格式实际上并不重要,当您尝试比较日期时,请以秒为单位进行转换,然后进行比较
只需在
strotime()
方法中进行大量操作,并进行示例,然后查看。

将日期更改为时间戳,然后进行比较。格式无关紧要

if ( strtotime(date("Y-m-d H:i")) >= strtotime("06/04/2017 08:00") && 
    strtotime(date("Y-m-d H:i")) <= strtotime("06/05/2017 20:00" )) { 
    echo "$text_1"; 
} 
else { 
    echo "$text_2"; 
}

日期格式实际上并不重要,当您尝试比较日期时,请以秒为单位进行转换,然后进行比较
只需在strtotime()方法上花很多时间,并做一些示例,然后查看。

问题是您使用
=
比较字符串。问题是您使用
=
比较字符串,难怪您不理解它,如果格式不正确,请详细说明我遗漏了什么。这是区域设置问题吗<代码>“06/04/2017 08:00”
被解释为6月4日(美国年/月/日),而不是您希望的4月6日(欧洲年/月/日)?如果有效的话,我只会坚持一年一个月。在其他答案中有很多日期比较的例子,比如Yeas,正确的应该是2017年4月6日d=天/m=月/Y=年,或者这一切都错了吗?如果格式不正确,难怪你不理解它。请随意详细说明我遗漏了什么这是地区问题吗<代码>“06/04/2017 08:00”
被解释为6月4日(美国年/月/日),而不是您希望的4月6日(欧洲年/月/日)?如果有效的话,我只会坚持一年一个月。在其他答案中有很多日期比较示例,例如Yeas,正确的日期应该是2017年4月6日d=天/m=月/Y=年,或者这一切都错了?
strotime(日期(…)
太复杂了。为什么生成一个格式化为字符串的日期,只是为了再次将其解析为日期?请参见
time()
是的,你是对的@Aloso,但当我发表文章时,我想到了这个解决方案。你最好利用时间,这是对的<代码>时间(日期(…)太复杂了。为什么生成一个格式化为字符串的日期,只是为了再次将其解析为日期?请参见
time()
是的,你是对的@Aloso,但当我发表文章时,我想到了这个解决方案。你最好利用时间,这是对的;