web-dev-qa-db-ja.com

PHP date-月の名前を現地語で取得

関数のこの部分があり、英語で月の名前がわかります。どうすれば自分の母国語(セルビア語)に翻訳できますか?

$month_name = date('F', mktime(0, 0, 0, $i));

どこ $iは月の数です(値1〜12)。 PHP:mktime も参照してください。

20
Sasha

setlocale() を使用する必要があります:

setlocale(LC_TIME, 'fr_FR');
$month_name = date('F', mktime(0, 0, 0, $i));

この場合、それはフランス語に設定されます。あなたの場合、それは次のいずれかでなければなりません:

  1. sr_BA-セルビア語(モンテネグロ)
  2. sr_CS-セルビア語(セルビア)
  3. sr_ME-セルビア語(セルビアおよびモンテネグロ)
25
MAXIM

setlocale() および strftime() を使用する必要があります。

setlocale(LC_TIME, 'sr_CS');
$month_name = strftime('%B', mktime(0, 0, 0, $i));

以下は IntlDateFormatter の例です

$format = new IntlDateFormatter('sr_CS', IntlDateFormatter::NONE, 
              IntlDateFormatter::NONE, NULL, NULL, "MMM");
$monthName = datefmt_format($format, mktime(0, 0, 0, $i));
3
Arnaud

ロケールを設定するときは、エンコーディングを渡すことをお勧めします。

 <?php    
 date_default_timezone_set('Europe/Belgrade');
 setlocale(LC_TIME, array('sr_CS.UTF-8', 'sr.UTF-8'));
2
bodi0