【问题标题】:php Date comparing [duplicate]php日期比较[重复]
【发布时间】:2019-04-25 08:29:03
【问题描述】:
$month = [
   "January",
   "February",
   "March",
   "April",
   "May",
   "June",
   "July",
   "August",
   "September",
   "October",
   "November",
   "December"
];

$month = $_POST['month'];
$year = $_POST['year'];
$day = $_POST['day'];
$dateOfDoc = "$year/$month/$day";
$date_now = date("Y/m/d");

if($dateOfDoc >= $date_now){
    echo"yes u can upload";
} else {
    echo "no u can't upload";
}

我正在尝试比较今天和用户输入的日期,如果用户输入的日期应该超过今天,我应该允许用户,但我总是得到错误的部分,即使用户输入明天的日期 例子)

today : 2019 04 25
user date : 2019 04 05 return false

today : 2019 04 25
user date : 2019 12 05 return true

我的代码有什么问题?

【问题讨论】:

  • 您的 $dateOfDoc 变量只是字符串,而不是日期。将其转换为日期。
  • 你为什么要生成任何月份名称数组,然后才覆盖你存储的变量?当您使用var_dump 进行调试输出时,$dateOfDoc 和 $date_now 的实际值是多少?
  • 或者,strtotime,然后进行比较。
  • @ismakv 日期最后是一个字符串。如果日期是正确的字符串,一切都会好起来的。

标签: php date


【解决方案1】:

您误用了带有分隔符/的日期格式

$month = $_POST['month'];
$year = $_POST['year'];
$day = $_POST['day'];
$dateOfDoc = "$month/$day/$year";
$date_now = date("m/d/Y");

if($dateOfDoc >= $date_now){
    echo"yes u can upload";
} else {
    echo "no u can't upload";
}

注意:m/d/y 或 d-m-y 格式的日期可以通过查看来消除歧义 在各个组件之间的分隔符处:如果分隔符是一个 斜线 (/),则假定为美式 m/d/y;而如果 分隔符是破折号 (-) 或点 (.),然后是欧洲 d-m-y 格式 是假定的。但是,如果年份以两位数格式给出并且 分隔符是一个破折号(-,日期字符串被解析为 y-m-d。

来源link

Demo.

【讨论】:

    【解决方案2】:

    试试这个代码:

    $current_date = date('d/m/y');
    $post_date = date("d/m/y", mktime(0, 0, 0, $_POST['day'], $_POST['month'], $_POST['year']));
    
    if (strtotime($post_date) >= strtotime($current_date)) {
     echo 'Upload';
    } else {
     echo 'Do not upload';
    }
    

    【讨论】:

      【解决方案3】:

      您正在将文本字符串与数字进行比较!

      如果 $name 包含月份名称,则无法将其与 php 中的 date("m") 进行比较,因为 php 中的 date("m") 返回月份的数字数字,但您将月份名称存储在变量 $name 中

      所有要比较的参数应该具有相同的格式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-09
        • 2014-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-28
        • 1970-01-01
        • 2011-02-14
        相关资源
        最近更新 更多