我试图将日期从yyyy-mm-dd转换为dd-mm-yyyy(但不是SQL);然而,我不知道日期函数如何需要时间戳,我无法从这个字符串中获得时间戳。
这怎么可能呢?
我试图将日期从yyyy-mm-dd转换为dd-mm-yyyy(但不是SQL);然而,我不知道日期函数如何需要时间戳,我无法从这个字符串中获得时间戳。
这怎么可能呢?
当前回答
使用date_create和date_format
试试这个。
function formatDate($input, $output){
$inputdate = date_create($input);
$output = date_format($inputdate, $output);
return $output;
}
其他回答
date('m/d/Y h:i:s a',strtotime($val['EventDateTime']));
对于这种特定的转换,我们还可以使用格式字符串。
$new = vsprintf('%3$s-%2$s-%1$s', explode('-', $old));
显然,这不适用于许多其他日期格式转换,但由于我们在本例中只是重新排列子字符串,因此这是另一种可能的方法。
$timestamp = strtotime(your date variable);
$new_date = date('d-m-Y', $timestamp);
有关更多信息,请参阅strtotime的文档。
或者更短:
$new_date = date('d-m-Y', strtotime(your date variable));
有两种实现方法:
1.
$date = strtotime(date);
$new_date = date('d-m-Y', $date);
2.
$cls_date = new DateTime($date);
echo $cls_date->format('d-m-Y');
$newDate = preg_replace("/(\d+)\D+(\d+)\D+(\d+)/","$3-$2-$1",$originalDate);
此代码适用于所有日期格式。
由于您的旧日期格式,您可以更改替换变量的顺序,例如$3-$1-$2。