php将日期转换为mktime函数

php将日期转换为mktime函数,php,datetime,mktime,Php,Datetime,Mktime,我发布日期输入$\u post['date']格式为2013/11/22和时间$\u post['time']格式为上午10:10。现在,我需要将两个输入都放入mktime函数中,如下所示: mktime(10, 10, 0, 11, 22, 2013); 如何创建此功能?您只需使用函数即可 $array = explode('/', $_POST['date']); $arraytwo = explode (':', $_POST['time']); 这样,您将有两个数组来填充mktime

我发布日期输入
$\u post['date']
格式为
2013/11/22
和时间
$\u post['time']
格式为
上午10:10
。现在,我需要将两个输入都放入
mktime
函数中,如下所示:

mktime(10, 10, 0, 11, 22, 2013);
如何创建此功能?

您只需使用函数即可

$array = explode('/', $_POST['date']);
$arraytwo = explode (':', $_POST['time']);
这样,您将有两个数组来填充mktime函数

//$_POST['date'] = '2013/11/22';
//$_POST['time'] = '10:10 AM';

$dateTime   = "{$_POST['date']}{$_POST['time']}";

$timeStamp  = strtotime($dateTime);

if($timeStamp===false):

  throw new \Exception("The date or time format is not valid!");

endif;
其他人提供的解决方案也可以完成这项工作。

您可以使用任意格式创建
DateTime
对象。然后,您可以使用该对象获取时间戳(或以另一种方式格式化日期):


我的解决方案中的格式(
Y/m/dh:ia
)要求输入的所有部分都使用前导零(例如,
2013-01-01 01:01 AM
)。如果输入不使用前导零,则必须更改输入格式。您可以在中看到所有受支持的格式字符。

您无需使用mktime。是的,条目是字符串,那么使用strotime函数更为一致

//$_POST['date'] = '2013/11/22';
//$_POST['time'] = '10:10 AM';

$dateTime   = "{$_POST['date']}{$_POST['time']}";

$timeStamp  = strtotime($dateTime);

if($timeStamp===false):

  throw new \Exception("The date or time format is not valid!");

endif;

这不管用。我看到错误:
无效的日期或时间
查看演示:@Alex.DX抱歉,我在格式上犯了两个错误(
M
而不是
M
-
而不是
//code>)。如果在代码中用
Y/m/dh:ia
替换格式,它应该可以正常工作!是的,现在起作用了,但这在公历日期起作用。我需要为阿拉伯语到公历时间戳日期定制
mktime
函数。我需要这个
mktime(10,10,0,11,22,2013)
对于阿拉伯日期,我将
mktime
更改为
ARmktime
(自定义函数),这起到了作用。您的评论不太清楚。您还想解析阿拉伯日期并获取时间戳吗?如果是这样,请更新您的问题,并附上一个例子,因为我不熟悉阿拉伯日期。可能重复