Изменить язык вывода даты php

Я использую несколько переменных для хранения различных дат PHP в желаемых форматах, таких как следующие:

$today = date('Y-m-d');
$todayPretty = date('d. M');
$oneMonthBefore = date('Y-m-d', strtotime('-1 months'));
$oneMonthBeforePretty = date('d. M', strtotime('-1 months'));
$oneMonthBefore2 = date('Y-m-d', strtotime($this->oneMonthBefore .' -1 day'));
$oneMonthBefore2Pretty = date('d. M', strtotime($this->oneMonthBefore .' -1 day'));
$twoMonthsBefore = date('Y-m-d', strtotime('-2 months'));
$twoMonthsBeforePretty = date('d. M', strtotime('-2 months'));
$currentMonth = date('F');
$previousMonth = date('F', strtotime('-1 months'));

К сожалению, они нужны мне на другом языке, например, на датском, поэтому я настроил следующее безрезультатно:

setlocale(LC_ALL, "da_DK.UTF-8");

Я прочитал, что я должен использовать strftime функция, но как я должен подходить к этому, когда дело доходит до переменных, которые не используют strtotime в моем случае? Любая помощь или руководство более чем приветствуются.

1

Решение

Сначала вы должны проверить, установили ли вы свой язык:

locale -a

в командной строке.

если нет, вы можете сделать это в Ubuntu / Debian с помощью:

sudo locale-gen da_DK.UTF-8

В PHP вы также можете попробовать несколько deff’ов, если ваш код будет развиваться в Windows и развертываться в Linux, например так:

<?php
setlocale (LC_ALL, 'de_DE.UTF-8', 'de_DE@euro', 'de_DE', 'de', 'ge', 'de_DE.ISO_8859-1', 'German_Germany');
1

Другие решения

Для универсального:

setlocale(LC_ALL,'nl_NL.UTF-8');

Для окон

setlocale(LC_ALL,'nld_nld');

Для Linux

setlocale(LC_ALL, 'nl_NL');

Если это не работает, вы должны создать фрагмент [[! Setlocale]] и вставьте в это:

setlocale(LC_ALL,'nl_NL.UTF-8');

И назовите этот фрагмент перед вашим !DOCTYPE или же html
вызов

1

По вопросам рекламы [email protected]