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

时间:2010-04-22 12:53:57

标签: php unix timestamp strtotime

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

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

4 个答案:

答案 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可以将令人眼花缭乱的字符串解析为有效时间。