С IntlDateFormatter, вы можете форматировать любые (ну, поддерживаемые языки).
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";
Это должно дать вам,
2010 年 2 月 18 日 (木)
и вы также можете получить другой язык с разными названиями локали.
Если все в порядке с форматом
2010 年 2 月 18 日 木 曜 日
который PHP (и ICU библиотека PHP внутренний вызов) считает, что правильный формат для полного японского дата, код будет проще. Например,
$fullFormatter = new IntlDateFormatter(
'ja_JP',
IntlDateFormatter::FULL,
IntlDateFormatter::NONE
);
$datetime = new DateTime("2010-02-18");
echo $fullFormatter->format($datetime) . "\n";
Тогда вы никогда не будете волноваться, когда вам нужно будет добавить дополнительную языковую поддержку в будущем. Ваш код будет свободен от обработки, специфичной для Японии.
то, что на самом деле, вы даже попробовать? – Sarfraz
年 -> означает год.月 -> означает месяц.日 -> означает день. – Yada
Код работает очень хорошо. Пропущенный день? (thu) Я предполагаю, что это означает, что мы должны иметь какой-то массив со всеми днями на японском, которые затем показываются в зависимости от дня? $ dys = array ("日", "月", "火", "水", "木", "金", "土"); – Cameron