本館粉絲專頁

使用者:Digipunk/BD

分享此網頁到Facebook
分享此網頁到Plurk
分享此網頁到百度搜藏
分享此網頁到Twitter
分享此網頁到Del.icio.us
最近作者:Digipunk 2018年9月17日 (星期一)12:20
台灣棒球維基館
跳轉到: 導覽搜尋

目次

[編輯] Birthday

顯示生日年齡,適用於球員資料頁面,例如:
  • 球員姓名:陳金鋒
  • 出生日期:1977年10月28日(41歲)

[編輯] 語法

1 {{BD
2 <!-- 【順序參數】 -->
3 | 1 = <生日,任何合格的日期格表示法皆可>
4 | 2 = <選填欄位,逝日>
5 | 3 = <選填欄位,內縮,即 wiki 表示法的 ":" 字元,若顯示逝世日期時有需要的話>
6 }}

[編輯] 生日、逝日

  • 兩參數皆可填入任何合格的日期表示法,以下寫法都合法且同義:
  • 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

[編輯] 逝日

  • 若逝世日期不詳,此參數可填入「不詳」。

[編輯] 範例

人名 範例 語法
陳金鋒
  • 出生日期:1977年10月28日(41歲)
*出生日期:{{BD | 1977-10-28}}
徐生明
  • 出生日期:1958年09月11日
  • 逝世日期:2013年08月24日(54歲)
*出生日期:{{BD | 1958/09/11 | 2013/08/24}}

[編輯] 備註

  • 主要是我每次查詢球員資料時,腦袋裡經常需要轉換年齡;如果可以的話,不如讓它自動計算。
  • 此模板運作模式單純,取用目前年月日,與指定的年月日做比較而已,年齡以足歲為準。
  • 運作邏輯如下:
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] 新增「逝世日期」。