2011-11-04 78 views
0

我剛剛搜索,沒有得到我所需要的。如何以天和秒計算年齡?

我只想歲轉化天像

20123天

並在幾秒鐘像

432344344秒

。 我該怎麼做?

如果我得到天的解決方案,我可以將其分爲幾秒。

---我

+2

哪種語言?許多語言都有內置的方法來處理這個問題。 – Ikke

+0

其中您使用PHP或其他技術的技術? –

+0

我想在PHP中做到這一點。 –

回答

2

PHP

$birthday = '1989-03-06'; 
$now = date("Y-m-d"); 
echo 'You are '. date_diff(date_create($birthday), date_create($now))->format('%a days old'); 
+0

真棒...這就是我想要的! –

2
  • 一年找PHP的解決方案有365天
  • 一天在24小時
  • 一個小時有60分鐘的
  • 一分鐘60秒

所以你必須乘以。

爲了knosw如果它是一個飛躍揭掉,你可以用這個僞代碼:

if year modulo 4 is 0 
    then 
     if year modulo 100 is 0 
      then 
       if year modulo 400 is 0 
        then 
         is_leap_year 
       else 
        not_leap_year 
     else is_leap_year 
else not_leap_year 
+0

是的,但閏年呢? –

+0

一小時有60分鐘,一分鐘有60秒,只是爲了糾正你;) –

0

什麼編程語言?

在C#:

var begin = new DateTime("1970/01/01"); 
var end = new DateTime("2011/01/01"); 

TimeSpan diff = end - begin; 

var days = diff.Days 
var seconds = diff.TotalSeconds 
0

C#

DateTime today = DateTime.Now; 
DateTime birthday = new DateTime(year, month, date); 
TimeSpan diff = today - birthday; 
MessageBox.Show(diff.TotalDays.ToString()); 
0

首先,你需要獲得的出生日期和時間精度。我不確定這是否合理:嬰兒需要幾分鐘才能出生。

然後,您將出生日期&時間轉換爲時間度量(類似於從Epoch測量的Unix time_t秒,即1月1970年1月0:00 GMT)。

,你可以得到當前時間爲time_t

然後。減去,你必須以秒爲單位的年齡。

0

只要你不是太擔心小不準確(一),有365.2425天一年平均在每天86400秒。


的(a)一旦孩子達到一歲,錯誤率已經下降到最大的/或0.3%。在我的耄耋之年,這是一路下滑0.006%,太不值得,甚至擔心:-)

0

是超級準確,你需要accountfor閏年:

function get_age($dob_day,$dob_month,$dob_year){ 
    $year = gmdate('Y'); 
    $month = gmdate('m'); 
    $day = gmdate('d'); 
    //seconds in a day = 86400 
    $days_in_between = (mktime(0,0,0,$month,$day,$year) - mktime(0,0,0,$dob_month,$dob_day,$dob_year))/86400; 
    $age_float = $days_in_between/365.242199; // Account for leap year 
    $age = (int)($age_float); // Remove decimal places without rounding up once number is + .5 
    return $age; 
} 

然後使用它:

echo get_date(31, 01, 1985); 

如果需要,您可以對$ age_float進行額外的數學運算以將其轉換爲秒。