更改php日期输出语言

时间:2014-11-17 12:11:28

标签: php date strtotime strftime

我使用很少的变量来存储所需格式的不同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的变量时,我该如何处理?任何帮助或指导都非常受欢迎。

2 个答案:

答案 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');

并在!DOCTYPEhtml前面调用此代码段 调用