出现错误是因为mktime函数要求所有值都是数字,而该函数只提供日期。如果您尝试这样做:
$h = 18;
$i = 11;
$s = 00;
$m = 07;
$d =23;
$y = 2009;
echo date("h-i-s-M-d-Y",mktime($h,$i,$s,$m,$d,$y));
然后它就会工作。
所以你完整的代码将是
date_default_timezone_set('UTC');
$d = str_replace('/', ',', '07/23/2009');
$t = str_replace(':', ',', '18:11');
$date = $t.',0,'.$d;
$fulldate = explode(',',$date);
echo '<br>';
$h = $fulldate[0];
$i = $fulldate[1];
$s = $fulldate[2];
$m = $fulldate[3];
$d =$fulldate[4];
$y = $fulldate[5];
echo date("h-i-s-M-d-Y",mktime($h,$i,$s,$m,$d,$y)) . "<br>";
//如果您需要时间戳,则使用
echo strtotime("07/23/2009 18:11");
谢谢
07/06/2009 18:11
的问题 - 这是7月7日还是6月6日?原因是并不是每个人(实际上只有少数国家)都使用MM/DD/YYYY格式来表示日期,大多数使用DD/MM/YYYY。最好始终将日期存储在YYYY-MM-DD格式中。 - Tigger