首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件DateDiff

条件DateDiff
EN

Stack Overflow用户
提问于 2015-11-06 14:21:50
回答 1查看 130关注 0票数 0

我访问了一些帖子,检索了SO中两个日期之间的日期差异,但它没有给出我想要的答案。阅读文档时也是如此,我在理解它的工作原理时遇到了问题。

我尝试过编写代码,但它的行为并不像我所期望的那样。下面是我的代码:

代码语言:javascript
复制
<?php
$currentDate = new DateTime();
$createDateJoin = date_create($getDate['date_joined']);
$dateJoin = date_format($createDateJoin, "Y-m-d");

$yearDifference = $currentDate->diff($createDateJoin);

  if ($yearDifference->d < 31 && $yearDifference->m = 0 && $yearDifference->y == 0) {
       echo $yearDifference->d . " days";
        } else if ($yearDifference->m > 3) {
              echo $yearDifference->m . " month";
        } else if ($yearDifference->y > 1) {
              echo $yearDifference->y . " years";
      } else {
              echo "Not yet assigned";
       }
 ?>

正如你在上面的代码中看到的,当我计算了两个日期之间的差异后,它满足了程序中的$yearDifference->.The行为的条件,而我所经历的程序没有相应地打印出我想要的东西(例如,工作超过1年的员工将打印出他们工作的年限,新员工将打印出他们已经工作了几年,新员工不到一个月将打印出天)时,我正在尝试进行打印。

我想知道->d/m/y是如何工作的,以及我如何实际利用dmy来正确地提取具体的日期。我还注意到,当我将$yearDifference视为Stringint时,它会针对不同的条件得出不同的结果。那么,我应该怎样对待这个类型才能更容易地操作它呢?非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-11-06 14:50:09

您可以使用此代码来获取日期不同的方法diff()对象返回更多值进行检查您可以print_r您的对象,它将打印通过diff()方法返回的所有数据成员

代码语言:javascript
复制
<?php
echo get_date_diff(strtotime('1990-10-12'),strtotime('2015-10-14'));
function get_date_diff($date,$dateEnd) {
    $dStart = new DateTime(date("Y-m-d", $date));
    $dEnd = new DateTime(date("Y-m-d", $dateEnd));
    $dDiff = $dStart->diff($dEnd);
   return($dDiff->y.' years <br>'.$dDiff->m.' months <br>'.$dDiff->d. ' days');
}

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

https://stackoverflow.com/questions/33560671

复制
相关文章

相似问题

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