我使用很少的变量来存储所需格式的不同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
的变量时,我该如何处理?任何帮助或指导都非常受欢迎。
答案 0 :(得分:1)
首先,您应该检查是否已使用以下语言安装了区域设置:
locale -a
在命令行中。
如果没有,你可以在ubuntu / debian上用:
sudo locale-gen da_DK.UTF-8
在PHP中,如果您的代码将在Windows上开发并在Linux上部署,您还可以尝试多个deff,如下所示:
<?php
setlocale (LC_ALL, 'de_DE.UTF-8', 'de_DE@euro', 'de_DE', 'de', 'ge', 'de_DE.ISO_8859-1', 'German_Germany');
答案 1 :(得分:1)
对于环球:
setlocale(LC_ALL,'nl_NL.UTF-8');
对于Windows
setlocale(LC_ALL,'nld_nld');
对于linux
setlocale(LC_ALL, 'nl_NL');
如果这不起作用,那么你必须创建一个片段[[!setlocale]] 并加入:
setlocale(LC_ALL,'nl_NL.UTF-8');
并在!DOCTYPE
或html
前面调用此代码段
调用