В настоящее время я использую таблицы названий дней и заменяю цифры день со значением таблицы.
В этом примере я получаю название месяца и года.
Код: Выделить всё
setlocale(LC_TIME, 'fr_FR');
date_default_timezone_set('Europe/Paris');
for ($x = $currentMonth; $x < $currentMonth + 12; $x++) {
$months[] = date('Y-F-m', mktime(0, 0, 0, $x, 1));
}
$FrenchMonth = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
$EnglishMonth = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
Код: Выделить всё
$twelvemonthsdata = explode('-',$months[$i]);
$twelvemonthsM = $twelvemonthsdata[1];
$twelveFormatMonth = 'F';
$twelvemonthinfrench = str_replace( $EnglishMonth,$FrenchMonth, date($twelveFormatMonth, strtotime($twelvemonthsM)));
Код: Выделить всё
$currentMonth = Date('m');
for ($x = $currentMonth; $x < $currentMonth + 12; $x++) {
$eachmonth = strtotime(Date('Y-F-m', mktime(0, 0, 0, $x, 1)));
$tweelvemonths = new DateTime();
$tweelvemonths->setTimestamp($eachmonth);
$tweelvemonths_formatter = new IntlDateFormatter('fr_FR');
$tweelvemonths_formatter->setTimeZone('Europe/Paris');
$tweelvemonths_formatter->setPattern('y-MMMM-MM');
$tweelvemonths_formated = $tweelvemonths_formatter->format($tweelvemonths);
var_dump($tweelvemonths_formated);
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... eplace-and