为了账号安全,请及时绑定邮箱和手机立即绑定

PHP date_diff() 使用字符串

PHP date_diff() 使用字符串

PHP
拉风的咖菲猫 2023-04-02 15:02:56
我有 2 个日期,它们是通过连接 3 个变量创建的。    $StartDate = $m . '/' . $dayy . '/' . $y;    $EndDate = $m . '/' . $dayy . '/' . $y;    $Interval = date_diff($StartDate , $EndDate)    $NumOfDays = $interval->format('%a');    $NumOfDays++;我收到 date_diff() 期望参数 1 为 DateTimeInterface 的错误。我搜索了这个网站,发现了一些不起作用的东西。    $date = date_create_from_format('d/m/y', $StartOfWeek);    $a = $date->getTimestamp();     $date = date_create_from_format('d/m/y', $EndOfWeek);    $b = $date->getTimestamp();    $interval = date_diff($a, $b);    $NumOfDays = $interval->format('%a');我收到错误:未捕获错误:调用布尔值上的成员函数 getTimestamp()如何正确地将字符串类型的 2 个日期转换为 DateTime?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

只需使用您的日期字符串来创建DateTime()对象。您不需要使用date_create_from_format(),因为您的日期格式被 PHP 识别为标准日期格式。

$m = 5;

$dayy = 20;

$y = 2020;


$m2 = 4;

$dayy2 = 18;

$y2 = 2020;


$StartDate = new DateTime($m . '/' . $dayy . '/' . $y);

$EndDate = new DateTime($m2 . '/' . $dayy2 . '/' . $y2);


$interval = date_diff($StartDate , $EndDate);

$NumOfDays = $interval->format('%a');

echo $NumOfDays;


查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信