如何将日期从yyyy:mm:dd
到yyyy-m-dd
和yyyy:mm:dd
(不带前导零的月份)转换为yyyy-m-dd
(带前导零到月份)?
问问题
149 次
5 回答
4
您可以使用DateTime::createFromFormat,然后使用DateTime::format。
例子:
$date = DateTime::createFromFormat('Y:m:d', '2012:08:02');
echo $date->format('Y-m-d');
// without leading zero for month
$date = DateTime::createFromFormat('Y:n:d', '2012:8:02');
echo $date->format('Y-m-d');
于 2012-08-02T06:24:17.963 回答
2
使用该$date=strtotime($date)
函数获取unix timestamp中的日期。之后,您可以使用该date("Y-m-d",$date)
函数将其转换为您想要的格式。这是一个示例:
$date=strtotime($olddate);
$date=date("Y-m-d",$date);
echo $date; // Now this will show you the date in the format you wanted :)
于 2012-08-02T06:23:39.610 回答
2
试试这个:
$dateFrom ="2012:8:2";
$dateTo = str_replace(":","-",$dateFrom);
$dateTo = date("Y-m-d", strtotime($dateTo));
echo $dateTo;
于 2012-08-02T06:27:52.823 回答
1
使用该date
功能。
date
将无法理解:
为分隔符,因此您需要将其替换为它可以理解的分隔符,例如/
or -
,以及str_replace
.
代码:
$orig_date = '2012:8:2';
$final_date = date('Y-n-d', str_replace(':', '/', $orig_date));
echo $final_date; // Result: 2012-8-02
于 2012-08-02T06:45:47.060 回答
0
使用日期()函数
echo date('Y-m-d'); // for 1st case (replacing ':' with '-')
echo date('Y-j-d'); // for 2nd case (without leading zero)
于 2012-08-02T06:23:44.563 回答