2017-01-18 4 views
0

私は日付から年齢を取得し、このPHPスクリプトを持っている:ストア結果Varの代わりにprintfの

$bday = new DateTime('1987-04-21'); 
$today = new DateTime(date('Y-m-d')); 
$diff = $today->diff($bday); 
printf('%d Years, %d Months', $diff->y, $diff->m); 

今私はのprintfに直接したくない、私は中に結果を入れたいですvar他の場所で使用する。どうやって?

答えて

6

ちょうどあなたが別の変数に月と年を保存したい場合は、次のように行う。この

$var = sprintf('%d Years, %d Months', $diff->y, $diff->m); 

ドキュメントfor sprintf

2

ようsprintfprintfを交換してください。

$bday = new DateTime('1987-04-21'); 
$today = new DateTime(date('Y-m-d')); 
$diff = $today->diff($bday); 

$years = $diff->y; 
$months = $diff->m; 

//echo $months; 
1

あなたのデータは$diffです。あなたはどこでもその変数を使用することができます。それをさらに別の変数に格納する必要はありません。

を使用でき

echo "$differ->y Years, $differ->m Months"; 
1

別の解決策

$bday = new DateTime('1987-04-21'); 
$today = new DateTime(date('Y-m-d')); 
$diff = $today->diff($bday); 

$years = $diff->format('%y'); 
$months = $diff->format('%m'); 
0

このサンプル:

<?php 
    $dob=date_create("1987-04-21"); 
    $currentDate=date_create(date('Y-m-d')); 
    $diff=date_diff($dob,$currentDate); 
    echo $diff->format("%y years"); 
?> 
関連する問題