我有一个包含不同格式日期的文件,内容中也有一些字符串,例如:
5/10/2013,
03-06-2013,
4156200%,
Friday, May 10, 2013
我希望能够检查给定字符串是否为日期,然后将其格式化为:Month-Day-Year
。在上面的示例内容中,有3个日期:5/10/2013
,3-06-2013
和Friday, May 10, 2013
我需要一个函数来接收这些字符串并将它们转换为日期,如果需要,可以使用之前指定的格式。
如果字符串不是有效日期,那么我希望保留相同的内容。
下面是我认为该功能的示例:
convert_date($st_val){
$ret = '';
if( isFomatDate( $st_val ) ) {
$ret = fomatDate( $st_val, mm-dd-yyyy );
} else {
$ret = $val_val;
}
}
此功能的预期输出应为:
// Entered string
5/10/2013
// Expected output
05-10-2013
// Entered string
03-06-2013
// Expected output
03-06-2013
// Entered string
4156200%
// Expected output
4156200%
// Entered String
aaaa
// Expected output
aaaa
// Entered string
Friday, May 10, 2013
// Expected output
05-11-2013
答案 0 :(得分:0)
使用strtotime
函数,如果它不是日期格式,则返回false。如果返回false则返回原始字符串。
$time = strtotime($string);
if(!$time)
{
return $string;
}
return $time;
答案 1 :(得分:0)
您可以尝试以下功能:
function dates_format($datesstr)
{
$dates_str=strtotime($datesstr);
if($dates_str!="")
{
return date("d-m-Y");
}
else
{
return $datesstr;
}
}
echo dates_format("12-10-2013");
答案 2 :(得分:0)
function convert_date($st_val){
$ret = '';
$check = strtotime($st_val);
if($check){
$ret = date("m-d-Y",$check);
}else{
$ret = $st_val;
}
return $ret;
}
echo convert_date('5/10/2013')."<br>";
echo convert_date('03-06-2013')."<br>";
echo convert_date('4156200%')."<br>";
echo convert_date('aaaa')."<br>";
echo convert_date('Friday, May 11, 2013')."<br>";