Я использую несколько переменных для хранения различных дат 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
в моем случае? Любая помощь или руководство более чем приветствуются.
Сначала вы должны проверить, установили ли вы свой язык:
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');
Для универсального:
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
вызов