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