|
本館粉絲專頁 |
|
|
使用者:Digipunk/BD
台灣棒球維基館
< 使用者:Digipunk(重定向自模板:BD)
目次 |
[編輯] Birthday
- 顯示生日及年齡,適用於球員資料頁面,例如:
- 球員姓名:陳金鋒
- 出生日期:1977年10月28日(47歲)
[編輯] 語法
1 | {{BD | |
2 | <!-- 【順序參數】 --> | |
3 | | 1 | = <生日,任何合格的日期格表示法皆可> |
4 | | 2 | = <選填欄位,逝日> |
5 | | 3 | = <選填欄位,內縮,即 wiki 表示法的 ":" 字元,若顯示逝世日期時有需要的話> |
6 | ||
7 | <!-- 【具名參數】 --> | |
8 | | 虛歲 | = <選填欄位,預設值 0。設為 1 則歲數無條件進位,通常用於逝世年齡> |
9 | }} |
[編輯] 生日、逝日
- 兩參數皆可填入任何合格的日期表示法,以下寫法都合法且同義:
- 1991/06/11
- 1991/6/11
- 1991-06-11
- 1991-6-11
- 11 Jun 1991
- 11 Jun, 1991
- 11th Jun 1991
- 11th Jun, 1991
- 11st Jun 1991
- 11st Jun, 1991
- Jun 11 1991
- Jun 11, 1991
- Jun 11th 1991
- Jun 11th, 1991
- 1991 Jun 11
- 1991 11 Jun
[編輯] 逝日
- 若逝世日期不詳,此參數可填入「不詳」。
[編輯] 範例
人名 | 範例 | 語法 |
---|---|---|
陳金鋒 |
|
*出生日期:{{BD | 1977-10-28}} |
徐生明 | *出生日期:{{BD | 1958/09/11 | 2013/08/24 | 虛歲=1}} |
[編輯] 備註
- 主要是我每次查詢球員資料時,腦袋裡經常需要轉換年齡;如果可以的話,不如讓它自動計算。
- 此模板運作模式單純,取用目前年月日,與指定的年月日做比較而已,年齡以足歲為準。
- 運作邏輯如下:
function BD($birthday, $show_age = 1) { list($y, $m, $d) = explode('/', str_replace(' ', '', $birthday)); $str = "[[$y年]]$m月$d日"; if ($show_age == 1) { list($Y, $M, $D) = explode('-', date('Y-n-j')); $age = $Y - $y; if ($m > $M || ($m == $M && $d > $D)) $age--; // 不足歲 $str .= "($age 歲)"; } echo $str; }
- 以上為最初的笨邏輯,2017-09-29 改成底下這樣:
function BD($birthday, $show_age = 1) { $tm = strtotime($birthday); $str = date('[[Y年]]m月d日', $tm); if ($show_age == 1) { $str .= '(' . floor((date('Ymd') - date('Ymd', $tm)) / 10000) . '歲)'; } echo $str; }
[編輯] 開發記錄
- [2016-07-13] 建立模板。
- [2017-09-29] 改用更單純的邏輯計算年齡。
- [2018-03-29] 新增「逝世日期」。