首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于if语句的论坛日期响应匹配12项中的1项等于或大于比较(论证)

问基于if语句的论坛日期响应匹配12项中的1项等于或大于比较(论证)
EN

Stack Overflow用户
提问于 2021-12-22 15:37:51
回答 1查看 50关注 0票数 -1

好的,我正在编写一个论坛提交的php代码,让我们调用文件名index.html,它获取论坛日期,在下面的代码中首先提交。

代码语言:javascript
复制
<center>
  <form name="birthDay" method="post" action="months.php">
    <input type="date" id="birthDay" name="birthDay"><br>
    <input type="submit" name="Submit" value="send"><br>
  </form>
</center>

php文件months.php将接受变量生日,并将其提交给月份php文件。正因为如此。

代码语言:javascript
复制
<?php 
if(isset($_POST['birthDay'])) {
  $link = $_POST['birthDay']; //Month for Jan 
  $janBegin = date("01-01"); 
  $janEnd = date("01-31");  

  if ($birthDate >= $janBegin || $birthDate <= $janEnd) { 
    echo "Your birthday month is janurary"; 
  } 
?>

等等,基于所有12个月。在提交论坛时。

我的问题是如何创建变量“生日”的列表,以便与所有月份的开始日期和结束日期进行比较?

我已经看过是否,如果,swith声明,但没有什么不创造期望的结果?我可能做错了什么。但无法在我的代码中找出错误。

这就是我来这里的原因。

在这方面的任何帮助都是非常感谢的。谢谢

根据请求通过ADyson

这段代码只是我试图做的一个例子。我在下面的评论中指出,开始日期和结束日期将以随机变量设置。总变量设置为12,这就是为什么我选择使用月份的开始日期和结束日期。ADyson,我相信这个想法比我所希望的要简单一些。

基本上代码看起来是这样的。

代码语言:javascript
复制
<?php 
$startdate1 = date("01/20") 
$enddate1=date("02/27") 
if ($bday >= $startdate1 && $bday <= $enddate1) {
  echo "response #1";

我还对此进行了更多的研究,并发现了一段代码片段,其中使用了我发现起作用的if和snippet语句。但还是遇到了一个问题。

当输入日期并遍历代码时,它匹配错误的响应。因此,假设输入了08/27 (m-d)的日期,它将停止并匹配

代码语言:javascript
复制
$option11Begin = date("11/25"); 
$option11End = date("12/23"); 

比较

代码语言:javascript
复制
} elseif ($bday >= $option11Begin && $bday <= $option11End) {

知道为什么会发生这种事吗。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-12-22 17:10:43

您不需要比较开始日期和结束日期,也不需要有大量的开关语句。只需将日期输入PHP的内置DateTime类,该类专门处理日期,然后只输出结果对象中的月份名称。

代码语言:javascript
复制
if(isset($_POST['birthDay'])) {
  $bday = new DateTime($_POST['birthDay']);
  echo "Your birthday month is ".$bday->format("F");
}

仿真:http://sandbox.onlinephpfunctions.com/code/f4b8730927927adf976dfb103c58ba132ca9217f

文档链接:https://www.php.net/manual/en/class.datetime.php

此解决方案将适用于每月的任何一天。它解析日期字符串,然后从结果的DateTime对象中始终获得月份值-或任何其他您想要的信息,或者与其他DateTime对象进行其他比较,或者进行所需的任何其他比较。这比任何类型的字符串比较都容易,也更可靠。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70451555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档