我想传输一些date to timestamp
,日期格式为%day %month %time
。和25 nov 07:44
一样,我尝试了下面的方法,但两个日期不同。需要帮助,谢谢。
<?php
$date = '25 nov 07:44';
$time = explode(" ",$date);
$minute = explode(":",$time[2]);
$timestamp = mktime(''.$minute[0].' '.$minute[1].' 00 '.$time[1].' '.$time[0].' 2011')."<br />";// mktime(%hour, %minute, %second, %month, %day, %year);
echo $timestamp; //1322202671
echo date("Y-m-j H:i:s", $timestamp); //2011-11-25 07:31:11
?>
答案 0 :(得分:5)
一些问题:
mktime
字符串而不是逗号分隔列表$time[1]
是一个字符串,mktime
需要一个月的数字您可能想尝试使用strtotime
或以其他方式添加转换表,以便将月份字符串转换为数字。
答案 1 :(得分:1)
在最新版本的php(5.3+)中,您可以使用DateTime::createFromFormat()
。
尝试类似
的内容$format = 'd M H:i';
$date = DateTime::createFromFormat($format, $timestamp);
echo $date->format('Y-m-j H:i:s');
就个人而言,我发现这种基于类的方法更清洁一些。
PHP文档: