簡體   English   中英

將4種不同語言的縮寫月份轉換為相應的月份號

[英]Turn abbreviated months in 4 different languages into corresponding month number

我有幾個月的英文,德文,法文和西班牙文縮寫,必須以數字形式返回

所以'dic'將是12 // es

或'avr'為4 // fr

我也有將使用的語言環境

這就是輸入的樣子

<?php return array (
'de' => array (
    'Jan' => 'Jan',
    'Feb' => 'Feb',
    'März' => 'Mar',
    'Apr' => 'Apr',
    'Mai' => 'May',
    'Juni' => 'Jun',
    'Juli' => 'Jul',
    'Aug' => 'Aug',
    'Sep' => 'Sep',
    'Okt' => 'Oct',
    'Nov' => 'Nov',
    'Dez' => 'Dec',
),
'es' => array(
    'ene' => 'Jan',
    'feb' => 'Feb',
    'mar' => 'Mar',
    'abr' => 'Apr',
    'may' => 'May',
    'jun' => 'Jun',
    'jul' => 'Jul',
    'ago' => 'Aug',
    'sept' => 'Sep',
    'oct' => 'Oct',
    'nov' => 'Nov',
    'dic' => 'Dec',
),
'fr' => array(
    'janv' => 'Jan',
    'Feb' => 'Feb',
    'mars' => 'Mar',
    'avr' => 'Apr',
    'mai' => 'May',
    'juin' => 'Jun',
    'juil' => 'Jul',
    'aout' => 'Aug',
    'sept' => 'Sep',
    'oct' => 'Oct',
    'nov' => 'Nov',
    'dec' => 'Dec',
),
);

我一直在和

setLocale(LC_ALL,'de_DE.UTF-8)
//"de_DE.UTF-8"
echo  strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));
//"Freitag 22 Dezember 1978"

我正在使用Carbon來解析日期,即

\Carbon::parse('Jan');

會給我

 Carbon\Carbon {#1866
 +"date": "2018-01-18 00:00:00.000000",
 +"timezone_type": 3,
 +"timezone": "UTC",}

我希望其他語言也能做到這一點。

你可以這樣做:

$month = array_search('März', array_keys($months['de'])) + 1;
now()->month($month);

這將為您提供:

Illuminate\Support\Carbon @1521374393 {#871
    date: 2018-03-18 11:59:53.0 UTC (+00:00),
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM