翻译月份名称的最佳方式

4 php time codeigniter

我正在使用Codeigniter!翻译月份名称的最佳方式是什么?我在mysql时间戳中有一个日期,如下所示: 2012-09-22 11:21:53
我可以将它转换为'September 22, 2012'php date()函数.我想重命名'September''Sentýabr'.set_locale()函数可以做到这一点.顺便说一下Turkmen Language.谢谢.


好的,我创建了一些php文件来检查它是否像这样:

cool.php

<?php setlocale(LC_ALL,'ru_RU');
echo strftime('%B',time());
?>
Run Code Online (Sandbox Code Playgroud)

九月归来.可能是什么问题.


我有

  /* Set locale to Turkmen */
  setlocale(LC_ALL, 'tk');
Run Code Online (Sandbox Code Playgroud)

  echo strftime( '%B',time());
Run Code Online (Sandbox Code Playgroud)

结果:9月返回

我需要用我的语言返回九月

Cou*_*Web 10

您可以使用str_ireplace()数组使用英语名称,并使用相同的名称替换turkmen中的名称.

像这样的东西:

$nmeng = array('january', 'february', ..);
$nmtur = array('ocak', 'subat', ...);
$dt = 'September 22, 2012';
$dt = str_ireplace($nmeng, $nmtur, $dt);
Run Code Online (Sandbox Code Playgroud)

  • 这不是一个好方法……这样更好!setlocale(LC_TIME, 'pt_BR'); strftime('%e de %B de %Y', strtotime('2012-09-22 11:21:53')); (2认同)

xda*_*azz 5

使用setlocale()strftime ...

在linux上,运行$ locale -a以查找是否已安装所需的语言环境,并获取其名称值字符串。

setlocale(LC_TIME, 'ru_RU');
echo strftime('%B %e, %Y', strtotime('2012-09-22 11:21:53'));
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您使用Windows服务器,请更改%e%d%e在Windows中不起作用)。

echo strftime('%B %d, %Y', strtotime('2012-09-22 11:21:53'));
Run Code Online (Sandbox Code Playgroud)

对于Windows,请在此处查看支持的格式。