Я столкнулся с поведением, которое я не могу объяснить. Функция strftime
возвращает разные значения в разных системах.
setlocale(LC_TIME,'fr_FR');
$time = strtotime('2015-04-08'); // just to start with, setlocale independent
echo strftime('%x',$time);
будет выводить на Mac OSX / PHP5.6
"08.04.2015"
и на Linux Cent OS / PHP5.6
"08/04/2015"
Поиск форматов даты для Франции на Википедия второе должно быть официальным правом. Но все, что я видел так далеко от Франции, они используют, скорее всего, первое.
Я проверил, установлена ли французская локаль в оболочке и в PHP.
$ locale -a
intlcal_get_available_locales();
Могу ли я проверить, что PHP использует в качестве формата для генерации вывода? Могу ли я установить формат для «% x» вручную для языка.
Задача ещё не решена.
Других решений пока нет …