我想将我的日期时间08/11/2013转换为2013-08-11。
我正在尝试这个,但它没有像它想象的那样工作。
$date = $_POST['gt_date']; // Getting 08/11/2013
$date = explode("/", $date); // Exploding the / character into array
$datetime = $date[2] + '-' + $date[0] + '-' + $date[1];
任何想法?
答案 0 :(得分:3)
您可以将其传递给DateTime
以便为您格式化。
$date = new DateTime('08/11/2013');
echo $date->format('Y-m-d');
答案 1 :(得分:1)
我不知道+做了什么,但将代码更改为以下代码将起作用:
$datetime = $date[2].'-'.$date[0].'-'.$date[1];
编辑:我猜+正在将它们加在一起。结果你得到2032?
答案 2 :(得分:0)
这是一个返回格式的函数,这样您就不必重复代码了。
function makeDateFormat($date) {
$date = $_POST['gt_date'];
$date = explode("/",$date);
$new_date = array($date[2], $date[0], $date[1]);
$date = implode("-",$new_date);
return $date;
}
答案 3 :(得分:0)
此问题是由“+”运算符引起的,将其更改为“。”运营商。您可以使用此功能:
function formatDate($date) {
$arr = explode("-",$date);
$year = $arr[2];
$month = $arr[1];
$day = $arr[0];
return $year."-".$month."-".$day;
}