使用PHP strottime格式化日期

使用PHP strottime格式化日期,php,date,strtotime,Php,Date,Strtotime,我使用以下代码将日期提取到$day变量中。但是,PHP似乎使用默认的配置日期格式,并假定日期格式为d-m-Y。以下是我的代码: $dateformat = "m-d-Y"; $selected_date = "04-30-2013"; $day = date(d, strtotime($selected_date)); echo $day; 有没有一种方法可以让PHP根据$dateformat变量中定义的格式动态执行 谢谢这里的问题是strotime()无法解析自定义格式的日期字符串。从(

我使用以下代码将日期提取到$day变量中。但是,PHP似乎使用默认的配置日期格式,并假定日期格式为d-m-Y。以下是我的代码:

$dateformat = "m-d-Y";
$selected_date = "04-30-2013";

$day = date(d, strtotime($selected_date));

echo $day;
有没有一种方法可以让PHP根据$dateformat变量中定义的格式动态执行


谢谢这里的问题是
strotime()
无法解析自定义格式的日期字符串。从(我的)重点:

通过查看各个组件之间的分隔符,可以消除m/d/y或d-m-y格式的日期歧义:如果分隔符是斜杠(/),则假定为美式m/d/y;而如果分隔符是破折号(-)或点(.),则假定为欧洲d-m-y格式。 为了避免潜在的歧义,最好尽可能使用ISO 8601(YYYY-MM-DD)日期或
DateTime::createFromFormat()

解决办法是使用。它可以用自定义格式解析日期:

$dateObj = DateTime::createFromFormat($dateformat, $selected_date);
$day = $dateObj->format('d'); // => 30

date(d,
可能会提出一个警告。你可能想用
$dateformat
替换
d
?如果你只想要你需要的那一天
$day=date('d',strotime('selected_date));
太棒了,这正是我想要的for@JohnSmith字体很高兴能帮上忙!