首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以今天、明天、昨天的形式确定生日日期?

如何以今天、明天、昨天的形式确定生日日期?
EN

Stack Overflow用户
提问于 2017-07-27 10:13:11
回答 3查看 655关注 0票数 1

我想以“今天”、“明天”、“昨天”的形式得到生日。

  • 1.如候选人生日为一九九一年七月二十六日至一九九一年七月二十六日,则须印上“昨日”。
  • 2.如果候选人的生日是1991年7月27日至7月27日,则应为“今天”。
  • 3.如果候选人的生日是1991年7月28日至1991年7月28日,则应在“明天”印刷。

代码

代码语言:javascript
复制
 $current = strtotime(date("Y-m-d"));
 $date    = strtotime("2014-07-24");

 $datediff = $date - $current;
 $difference = floor($datediff/(60*60*24*365));
 if($difference==0)
 {
 echo 'today';
 }
 else if($difference > 1)
 {
 echo 'Future Date';
 }
 else if($difference > 0)
 {
 echo 'tomarrow';
 }
 else if($difference < -1)
 {
 echo 'Long Back';
 }
else
{
echo 'yesterday';
}  
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-27 10:30:31

也许有些复杂的解决方案,但在这里,我比较月份数和日期数:

代码语言:javascript
复制
$current_month = date("n");
$current_day = date("j");

// date of birth
$dob = strtotime("1991-07-26");
$dob_month = date("n", $dob);
$dob_day = date("j", $dob);

if ($current_month == $dob_month) {
    if ($current_day == $dob_day) {
        echo 'TODAY';
    } elseif ($current_day == $dob_day + 1) {
        echo 'YESTERDAY';
    } elseif($current_day == $dob_day - 1) {
        echo 'TOMORROW';
    } else {
        echo 'IN this month';
    }
} elseif ($current_month < $dob_month) {
    echo 'In future';
} else {
    echo 'Long back';
}
票数 4
EN

Stack Overflow用户

发布于 2017-07-27 10:26:28

使用php 日期和时间

就像这样:

代码语言:javascript
复制
$today=new DateTime("2017-07-27");
$other_day=new DateTime("2017-07-28");

$check = $today->diff($other_day);

$difference = (integer)$check->format( "%R%a" );
echo $difference;
票数 3
EN

Stack Overflow用户

发布于 2017-07-27 10:30:41

只要删除* 365,您的代码就可以工作了。

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

https://stackoverflow.com/questions/45347772

复制
相关文章

相似问题

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