试图用西班牙语显示日期

时间:2014-09-08 05:51:24

标签: php datetime localization

没有什么对我有用。这是我试过的代码片段

$oldLocale = setlocale(LC_TIME, 'it_IT');
echo strftime("%a %d %b %Y", $row['eventtime']); 
setlocale(LC_TIME, $oldLocale);

我也试过这个

<?php 
setlocale(LC_ALL, 'it_IT');
$originalDate = "04/01/2014";
$originalDate =date("d/m/Y", strtotime($originalDate));
$newDate = date("d M Y", strtotime($originalDate));
echo $newDate
?>

更新

我试过这段代码

setlocale(LC_TIME, 'es_ES', 'Spanish_Spain', 'Spanish'); 
$date = $date = str_replace("/","-","04/01/2014");
echo strftime('%d %B %Y',strtotime($date));

所以现在它显示04 enero 2014,但有没有办法让enero成为ene,就像空手一样?

两个代码都只显示英文日期。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

你真的应该在php.ini中设置你的语言环境,而不是动态。

而且,it_IT是意大利语,不是西班牙语。

您需要第一个代码段中的strftime()方法。

最后,区域设置名称在不同的操作系统上是不同的。

尝试:

setlocale(LC_TIME, 'es_ES', 'Spanish_Spain', 'Spanish');  

答案 1 :(得分:0)

通过将%B更改为%b,您将获得以下输出:

04 ene 2014

有关strftime here的更多信息。