2014-09-02 54 views
-1

我有一个计算从给定日期有没有基于年龄数据计算日期的方法?

public function showAge() 
    { 
     if ($this->account_id == 1 && !empty($this->profile->birthday)) 
     { 
      return date_diff(date_create($this->profile->birthday), date_create('today'))->y; 
     } 
    } 

我的问题是年龄的关系:我可以做一些一种逆向功能(由给定的年龄计算日期)的?

+0

的可能重复[如何计算使用PHP的两个日期之间的区别吗?] (http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates-using-php) – 2014-09-02 16:18:44

+0

除非这肯定是用户的生日,否则无法计算确切日期从现在的日期开始......假设我的生日是八月二十八日,而我是二十六岁,那么你可以得到我的生日,但是如果我不提供你我的出生日期/月份,你只能得到我的出生年。 – 2014-09-02 16:19:39

+0

不可能的重复,因为我不需要2日期之间的差异,我需要基于年龄的日期 – 2014-09-02 16:20:28

回答

2

日期=>年龄是多对一的映射,因为在我365岁的每一天,我22岁......我22岁。

但是,只知道我22岁并不能让你推断日期。

一个类似的问题是“知道4 + 6 = 10,你能从10得到4和6吗?”答案是否定的,因为5 + 5也是10.这样,整数的加法也是多对一的映射。

它们不能颠倒。这就是说,如果你知道他们的出生日期,那么你可以简单地将年龄添加到出生年份并获得他们最近的生日的日期。

1
<?php 
$age = 26; 
echo date('Y') - $age; 

这是你能得到,除非当天最好是幸运的一天/用户的出生月份...