5
echo $_POST['time']."<br/>";
echo $_POST['day']."<br/>";
echo $_POST['year']."<br/>";
echo $_POST['month']."<br/>";

我现在有这样的值存储,我想从这些值创建一个时间戳。如何在 PHP 中做到这一点?提前致谢

4

4 回答 4

7

您可以使用mktime()。根据 的格式$_POST['time'],您将其拆分为小时/分钟/秒,然后使用

$timestamp = mktime($hour, $min, $sec, $month, $day, $year)
于 2010-04-22T12:55:45.870 回答
1
echo mktime(0,0,0,$_POST['month'],$_POST['day'],$_POST['year']);

我不知道你的时间是什么格式,所以,你可能需要explode() 它然后将值放入mktime() 的三个第一个参数中,例如:

$_POST['time'] = '8:56';
$time = explode(':',$_POST['time']);
echo mktime($time[0],$time[1],0,$_POST['month'],$_POST['day'],$_POST['year']);
于 2010-04-22T12:59:49.343 回答
0

使用DateTime对象。解析已为您完成,您可以控制时区差异,以便夏令时不会引起问题。

$datetimestring="{$_POST['year']}-{$_POST['month']}-{$_POST['day']} {$_POST['time]}";
$dt= date_create($datetimestring);//optional 2nd argument is TimeZone, so DST won't bite you
echo $dt->format('U');
于 2010-04-22T12:58:22.217 回答
0

另一种选择是strtotime

$time = "{$_POST['time']} {$_POST['month']}/{$_POST['day']}/{$_POST['year']}";
$timestamp = strtotime($time);

如果$_POST['time']已经是小时和分钟(HH:MM格式),那么这将为您节省分解和解析它的步骤。strtotime可以将令人眼花缭乱的字符串解析为有效时间。

于 2010-04-22T13:16:13.953 回答