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');