Как перевести дни недели из даты без использования str_replace и массивов названий дней?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как перевести дни недели из даты без использования str_replace и массивов названий дней?

Сообщение Anonymous »

Я бы нашел самое простое решение - перевести дату напрямую с помощью функций php (без str_replace, массивов названий дней и mktime.
В настоящее время я использую таблицы названий дней и заменяю цифры день со значением таблицы.
В этом примере я получаю название месяца и года.

Код: Выделить всё

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');
после этого я конвертировал каждый месяц (формат даты «F») на свой местный язык

Код: Выделить всё

$twelvemonthsdata = explode('-',$months[$i]);
$twelvemonthsM = $twelvemonthsdata[1];
$twelveFormatMonth = 'F';
$twelvemonthinfrench = str_replace( $EnglishMonth,$FrenchMonth, date($twelveFormatMonth, strtotime($twelvemonthsM)));
Я пытаюсь использовать DateTime и IntlDateFormatter, но не нашел другого способа, кроме как преобразовать результат цикла for с помощью strtotime() и использовать его с помощью DateTime() и intldateformatter().

Код: Выделить всё

$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);
}
Есть ли более простой или более короткий способ сгенерировать следующие 12 месяцев, начиная с текущего месяца, на местном языке с использованием или без использования strtotime и/или mtkime?

Подробнее здесь: https://stackoverflow.com/questions/783 ... eplace-and
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»