Con IntlDateFormatter, puede dar formato a cualquier (así, apoyados) idiomas.
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";
Esto debe darle,
2010 年 2 月 18 日 (木)
y también se puede obtener otro idioma con diferentes nombres específicos.
Si estás bien con el formato
2010 年 2 月 18 日 木 曜 日
el que PHP (y UCI librería PHP llama internamente) piensa que el formato adecuado para la plena fecha japonés, el el código sería más simple. De esta manera,
$fullFormatter = new IntlDateFormatter(
'ja_JP',
IntlDateFormatter::FULL,
IntlDateFormatter::NONE
);
$datetime = new DateTime("2010-02-18");
echo $fullFormatter->format($datetime) . "\n";
Entonces, nunca tendrá que preocuparse si necesita agregar más soporte de idiomas en el futuro. Su código estará libre del manejo específico de japonés.
lo que realmente es, qué siquiera intentarlo? – Sarfraz
年 -> significa año.月 -> significa mes.日 -> significa día. – Yada
El código funciona bastante bien. Perdiendo el día sin embargo? (jue) Supongo que eso significa que tendremos que tener algún tipo de matriz con todos los días en japonés que luego se muestre según el día. $ dys = array ("日", "月", "火", "水", "木", "金", "土"); – Cameron