我有一系列日期如下:
$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);
}
有人可以帮我解决法语日期转换问题吗?
答案 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);