从数据抓取器格式化日期


Formatting date from datapicker

我试图从用户从日期选择器日历中选择的一天输出用户以"2014年3月25日星期四"的格式选择的日期。问题是1)datepicker以'mm-dd-yyyy'格式向我发送选择的日期,我需要通过strtotime传递此字符串以便用作date()函数的输入,并且strtotime认为使用'-'作为分隔符的日期以国际格式'dd-mm-yyyy'。问题是我如何将字符串'mm-dd-yyyy'切换到'dd-mm-yyyy'这样我就可以用它作为strtotime的输入?还是我做错了?

$schedule_pickup_date = $_POST['schedule_pickup_date'];   // this is the date from     datepicker
echo "Date: ".date('D F jS Y',strtotime($schedule_pickup_date));

使用DateTime::createFromFormat(),它允许您告诉PHP原始日期的格式。然后你可以从那里格式化它。

$date = DateTime::createFromFormat('m-d-Y', $_POST['schedule_pickup_date']);
echo $date->format('D F jS Y');

尝试使用PHP的DateTime类。下面是一个例子:

$time = $_POST['date']; 
$var = DateTime::createFromFormat( 'H:i - d/m/Y', $time);
if ($var instanceof DateTime)
    $date = $var->getTimestamp();