3

プロフィール ページにメンバーの年齢を表示しようとしています。PHPファイルで、ユーザーの誕生日を表示するためにこのコードを追加しました:

$data = $db->super_query( "SELECT dob FROM dle_users" );
$tpl->set("{bdate}", $data['dob']);

プロフィールページには次の結果があります:

1364-07-09

そのペルシャの日付: yyyy-mm-dd

今、メンバーの年齢を表示する必要があります。Google とこのサイトで検索したところ、いくつかの回答とヒントが見つかりましたが、うまくいきません。どうしてか分かりません。

どうすれば年齢を表示できますか? :(

4

4 に答える 4

6

MySQLのTIMESTAMPDIFF()機能を使用できます。

SELECT TIMESTAMPDIFF(YEAR, dob, CURRENT_DATE) AS age FROM dle_users
于 2012-10-12T19:37:19.000 に答える
2

MySQL (それを使用している場合) の日付関数を見てみましょう。それらは大量の変換を行ってくれます。

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

たぶんDATEDIFF( NOW(), dob )、またはそのようなマラキーですが、それは数日またはTIMESTAMPDIFF(MONTH, NOW(), dob )数か月の違いを返します

于 2012-10-12T19:30:52.113 に答える
1

使用できます

SELECT DATEDIFF(dob, NOW()) AS difference from dle_users;

これにより、PHPを使用してさまざまな形式に変換できる日付の違いが得られます

date("m/d/y g:i (A)", $DB_Date_Field);

また、TIMESTAMPDIFF を次のように直接使用することもできます。

SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) as difference from dle_users;

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampdiffを読む

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_curdate

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

于 2012-10-12T19:42:43.857 に答える
1

多様性のためだけに:

select year(now()) - year(dob) - if(dayofyear(now()) < dayofyear(dob), 1, 0) from dle_users
于 2012-10-12T19:49:06.973 に答える