X

PHP 日期時間 轉換成 中文星期幾

PHP 輸入日期、時間, 要自動轉換成星期幾, 可以用 strtotime() + date(), 要換成中文星期幾, 就需要另外 array mapping 一下~

PHP 日期時間 轉換成 中文星期幾

PHP 5.4 以後, 陣列寫法可以簡化使用 [], 而且宣告完可以直接接著使用, 所以寫兩個簡單的版本來參考~

<?php
function get_chinese_weekday($datetime)
{
    $weekday = date('w', strtotime($datetime));
    return '星期' . ['日', '一', '二', '三', '四', '五', '六'][$weekday];
}
?>

PHP >= 5.4 可以用以上版本.

<?php
function get_chinese_weekday($datetime)
{
    $weekday  = date('w', strtotime($datetime));
    $weeklist = array('日', '一', '二', '三', '四', '五', '六');
    return '星期' . $weeklist[$weekday];
}
?>

PHP < 5.4 用上述版本.

Debain / Ubuntu 若有安裝 php5-intl 的套件, 可以使用 IntlDateFormatter 來寫 (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

<?php
$fmt = datefmt_create(
    'zh_TW',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'Asia/Taipei',
    IntlDateFormatter::GREGORIAN,
    "EEEE"
);

echo datefmt_format($fmt, strtotime('2014-05-04 15:10:11')); // 星期日

$fmt = datefmt_create(
    'zh_TW',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'Asia/Taipei',
    IntlDateFormatter::GREGORIAN,
    "EEEEE"
);

echo '星期' . datefmt_format($fmt, strtotime('2014-05-04 11:10:11')); // 日
?>

使用範例

  • echo get_chinese_weekday('2014-05-26 00:11:12');
Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post