echo $_POST['time']."<br/>";
echo $_POST['day']."<br/>";
echo $_POST['year']."<br/>";
echo $_POST['month']."<br/>";
我现在有这样的值存储,我想从这些值创建一个时间戳。如何在 PHP 中做到这一点?提前致谢
您可以使用mktime()。根据 的格式$_POST['time']
,您将其拆分为小时/分钟/秒,然后使用
$timestamp = mktime($hour, $min, $sec, $month, $day, $year)
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']);
使用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');
另一种选择是strtotime:
$time = "{$_POST['time']} {$_POST['month']}/{$_POST['day']}/{$_POST['year']}";
$timestamp = strtotime($time);
如果$_POST['time']
已经是小时和分钟(HH:MM
格式),那么这将为您节省分解和解析它的步骤。strtotime
可以将令人眼花缭乱的字符串解析为有效时间。