繁体   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