Với IntlDateFormatter, bạn có thể định dạng bất kỳ (tốt, được hỗ trợ) ngôn ngữ.
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
exit ('IntlDateFormatter is available on PHP 5.3.0 or later.');
}
if (!class_exists('IntlDateFormatter')) {
exit ('You need to install php_intl extension.');
}
$longFormatter = new IntlDateFormatter(
'ja_JP',
IntlDateFormatter::LONG,
IntlDateFormatter::NONE
);
$weekdayFormatter = new IntlDateFormatter(
'ja_JP',
IntlDateFormatter::NONE,
IntlDateFormatter::NONE,
date_default_timezone_get(),
IntlDateFormatter::GREGORIAN,
'EEEEE' // weekday in one letter
);
$datetime = new DateTime("2010-02-18");
echo $longFormatter->format($datetime)
. '(' . $weekdayFormatter->format($datetime) . ")\n";
này nên cung cấp cho bạn,
2010 年 2 月 18 日 (木)
và bạn cũng có thể nhận được một ngôn ngữ khác với tên miền địa phương khác nhau.
Nếu bạn là okay với định dạng
2010 年 2 月 18 日 木 曜 日
mà PHP (và ICU thư viện PHP trong nội bộ gọi) cho rằng định dạng thích hợp cho ngày toàn Nhật Bản, mã sẽ đơn giản hơn. Như thế này,
$fullFormatter = new IntlDateFormatter(
'ja_JP',
IntlDateFormatter::FULL,
IntlDateFormatter::NONE
);
$datetime = new DateTime("2010-02-18");
echo $fullFormatter->format($datetime) . "\n";
Sau đó, bạn sẽ không bao giờ phải lo lắng khi cần thêm nhiều ngôn ngữ hỗ trợ trong tương lai. Mã của bạn sẽ không bị xử lý theo tiếng Nhật.
những gì là thực sự, anh có thử nó? – Sarfraz
年 -> có nghĩa là năm.月 -> có nghĩa là tháng.日 -> có nghĩa là ngày. – Yada
Mã hoạt động khá tốt. Thiếu ngày mặc dù? (Thu) Tôi đoán điều đó có nghĩa là chúng ta phải có một số loại mảng với tất cả các ngày trong tiếng Nhật mà sau đó được hiển thị dựa trên ngày? $ dys = array ("日", "月", "火", "水", "木", "金", "土"); – Cameron