如何在PHP中将日期和时间转换为时间戳?

Pat*_*cow 2 php datetime timestamp date mktime

我有一个日期'07/23/2009'和时间'18:11',我想得到一个时间戳:这是我的例子:

date_default_timezone_set('UTC');

$d = str_replace('/', ', ', '07/23/2009');
$t = str_replace(':', ', ', '18:11');
$date = $t.', 0, '.$d;
echo $date;
echo '<br>';
echo $x = mktime("$date");
Run Code Online (Sandbox Code Playgroud)

问题是$x给我当前的时间戳.

有任何想法吗?

小智 6

它给出了错误,因为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));
Run Code Online (Sandbox Code Playgroud)

然后它会工作.

所以你的完整代码将是

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>";
Run Code Online (Sandbox Code Playgroud)

//如果你想要时间戳然后使用

echo strtotime("07/23/2009 18:11");
Run Code Online (Sandbox Code Playgroud)

谢谢