我想将我的日期时间 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];
有任何想法吗?
您可以将其传递给以DateTime
进行格式化。
$date = new DateTime('08/11/2013');
echo $date->format('Y-m-d');
我不知道 + 做什么,但是将您的代码更改为以下内容将起作用:
$datetime = $date[2].'-'.$date[0].'-'.$date[1];
编辑:我猜 + 是把它们加在一起。你得到的结果是 2032 年吗?
此问题是由“+”运算符引起的,请将其更改为“。” 操作员。您可以使用此功能:
function formatDate($date) {
$arr = explode("-",$date);
$year = $arr[2];
$month = $arr[1];
$day = $arr[0];
return $year."-".$month."-".$day;
}
这是一个将返回您的格式的函数,这样您就不必重复您的代码。
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;
}