我有一个日期YDDD格式如3212
我想将此日期转换为默认日期字符串即2013-08-01在PHP中
因为第一个值Y是Year的唯一字符,所以我决定从前三个字符当前年份即2013年
的201 以下是我今年编写的代码
<?php
$date = "3212"
$y = substr($date,0,1); // will take out 3 out of year 3212
$ddd = substr($date,1,3); // will take out 212 out of year 3212
$year = substr(date("Y"),0,3) . $y; //well create year "2013"
?>
Run Code Online (Sandbox Code Playgroud)
现在我该如何使用$year,并212把它转换成2013年8月1日使用PHP
编辑
FYI:我的PHP版本是5.3.6
sal*_*the 13
$date = "3212";
echo DateTime::createFromFormat("Yz", "201$date")->format("Y-m-d");
// 2013-08-01
Run Code Online (Sandbox Code Playgroud)
$yddd = 3212;
preg_match('/^(\d)(\d{3})$/', $yddd, $m);
echo date('Y-m-d', strtotime("201{$m[1]}-01-01 00:00:00 +{$m[2]} days"));
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您在PHP 5.3或更高版本上运行代码,则可以使用date_create_from_format将$ year和$ ddd转换为可用日期.例如:
$date = date_create_from_format("Y-z", "$year-$ddd");
echo date_format($date, "Y-m-d");
Run Code Online (Sandbox Code Playgroud)