gpt4 book ai didi

php - 统一不同格式的日期字符串

转载 作者:搜寻专家 更新时间:2023-10-31 20:38:01 24 4
gpt4 key购买 nike

我有一个包含许多不同格式日期的数组。所有字符串。

我想用 dates() 将它统一到一个数组中。像这样:

function uniformize($str){
$date = strtotime($str);
return $date;
}

$arr = array(
'07/29/1975',
'20/01/1981',
'1983-05-24',
'10 /8 /1995'
);

print_r( array_map('uniformize', $arr) );

但这只适用于一种格式:

Array ( 
[0] =>
[1] =>
[2] => 454215600
[3] =>
)

有什么方法可以对所有格式进行处理吗?

最佳答案

您可以为此使用此功能。 fiddle here

请注意,它应该总是比月份早几天。否则无法知道日期的第一部分是一天还是一个月(除非一天超过 12.. 并且不能涵盖所有情况)。

function date2time($date)
{
$date = str_replace(' ','',$date);
if(strpos($date,'-')!==false)
$date_array = explode('-',$date);
if(strpos($date,'/')!==false)
$date_array = explode('/',$date);
//add more delimiters if needed

$day = $month = $year = '';

foreach($date_array as $date_elem)
{
if(strlen($date_elem) < 3)
{
if(empty($day))
$day = $date_elem;
else
$month = $date_elem;

}else
$year = $date_elem;
}


$time = mktime(0,0,0,$month,$day,$year);

return $time;
}

$arr = array(
'07/29/1975',
'20/01/1981',
'1983-05-24',
'10 /8 /1995'
);

print_r( array_map('date2time', $arr) );

关于php - 统一不同格式的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30439151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com