echo $_POST['time']."<br/>";
echo $_POST['day']."<br/>";
echo $_POST['year']."<br/>";
echo $_POST['month']."<br/>";
我有这样的值存储现在我想从这些值创建一个时间戳。 如何在PHP中做到这一点? 提前致谢
答案 0 :(得分:7)
您可以使用mktime()。根据{{1}}的格式,将其拆分为小时/分钟/秒,然后使用
$_POST['time']
答案 1 :(得分:1)
echo mktime(0,0,0,$_POST['month'],$_POST['day'],$_POST['year']);
我不知道你的时间是什么格式,所以,你可能需要爆炸()它然后将值放入mktime()的三个第一个参数中,如:
$_POST['time'] = '8:56';
$time = explode(':',$_POST['time']);
echo mktime($time[0],$time[1],0,$_POST['month'],$_POST['day'],$_POST['year']);
答案 2 :(得分:0)
使用DateTime对象。解析是为您完成的,您可以控制TimeZone差异,以便夏令时不会导致问题。
$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');
答案 3 :(得分:0)
另一个选项是strtotime:
$time = "{$_POST['time']} {$_POST['month']}/{$_POST['day']}/{$_POST['year']}";
$timestamp = strtotime($time);
如果$_POST['time']
已经是小时和分钟(HH:MM
格式),那么这将为您节省爆炸和解析它的步骤。 strtotime
可以将令人眼花缭乱的字符串解析为有效时间。