PHP日期时间转换法语

时间:2017-02-02 13:22:34

标签: php date french

我有一系列日期如下:

$date_events = array(
    0 => 'Lundi, janvier 30, 2017',
    1 => 'Mardi, janvier 24, 2017',
    2 => 'Mardi, janvier 17, 2017',
    3 => 'Mardi, janvier 10, 2017',
    4 => 'Mercredi, janvier 25, 2017',
    5 => 'Lundi, janvier 2, 2017',
    6 => 'Dimanche, janvier 1, 2017',
    7 => 'Mardi, janvier 3, 2017',
    8 => 'Lundi, février 13, 2017'
);

我想在" d-m-Y"格式。当日期是英文时,一切正常,但我的问题是法国日期没有被转换并返回&01-01-1970'。我使用下面的代码:

for( $i=0 ; $i < count($date_events) ; $i++){
    $time = strtotime($date_events[$i]);
    $newformat[] = date("d-m-Y",$time);
}

有人可以帮我解决法语日期转换问题吗?

2 个答案:

答案 0 :(得分:0)

$date_events = array(
    0 => 'Lundi, janvier 30, 2017',
    1 => 'Mardi, janvier 24, 2017',
    2 => 'Mardi, janvier 17, 2017',
    3 => 'Mardi, janvier 10, 2017',
    4 => 'Mercredi, janvier 25, 2017',
    5 => 'Lundi, janvier 2, 2017',
    6 => 'Dimanche, janvier 1, 2017',
    7 => 'Mardi, janvier 3, 2017',
    8 => 'Lundi, février 13, 2017'
);

$frToEn = array(
    'janvier'=>'jan',
    'février'=>'feb',
    'mars'=>'march',
    'avril'=>'apr',
    'mai'=>'may',
    'juin'=>'jun',
    'juillet'=>'jul',
    'août'=>'aug',
    'septembre'=>'sep',
    'octobre'=>'oct',
    'novembre'=>'nov',
    'décembre'=>'dec',

    'lundi'=>'monday',
    'mardi'=>'tuesday',
    'mercredi'=>'wednesday',
    'jeudi'=>'thursday',
    'vendredi'=>'friday',
    'samedi'=>'saturday',
    'dimanche'=>'sunday'
);
foreach($date_events as &$date){
    $date = strtr(strtolower($date),$frToEn);
    $date = array($date,date('Y-m-d',strtotime($date)));
}
print '<pre>';
print_r($date_events);

罗马的一种方式......

答案 1 :(得分:0)

将任何英文文本日期时间描述解析为Unix时间戳

    <?php


$date_events = array(
    0 => 'Lundi, janvier 30, 2017',
    1 => 'Mardi, janvier 24, 2017',
    2 => 'Mardi, janvier 17, 2017',
    3 => 'Mardi, janvier 10, 2017',
    4 => 'Mercredi, janvier 25, 2017',
    5 => 'Lundi, janvier 2, 2017',
    6 => 'Dimanche, janvier 1, 2017',
    7 => 'Mardi, janvier 3, 2017',
    8 => 'Lundi, février 13, 2017'
);
$stack = array();

foreach( $date_events as $key => $value ){

$value = str_replace(",", "", $value);
$value = str_replace("Lundi", "", $value);
$value = str_replace("Mardi", "", $value);
$value = str_replace("Mercredi", "", $value);
$value = str_replace("Jeudi", "", $value);
$value = str_replace("Vendredi", "", $value);
$value = str_replace("Samedi", "", $value);
$value = str_replace("Dimanche", "", $value);
$value = str_replace("janvier", "January", $value);
$value = str_replace("février", "February", $value);
$value = str_replace("mars", "March", $value);
$value = str_replace("avril", "April", $value);
$value = str_replace("mai", "May", $value);
$value = str_replace("juin", "June", $value);
$value = str_replace("juillet", "July", $value);
$value = str_replace("août", "August", $value);
$value = str_replace("septembre", "September", $value);
$value = str_replace("octobre", "October", $value);
$value = str_replace("novembre", "November", $value);
$value = str_replace("décembre", "December", $value);
$time = strtotime($value);

$newformat = date('d-m-Y',$time);
array_push($stack, $newformat);
}
print_r($stack);