PHP:如何从模式H:i(17:45)创建时间戳?

PHP:如何从模式H:i(17:45)创建时间戳?,php,datetime,timestamp,mktime,Php,Datetime,Timestamp,Mktime,我当前的代码: <?php $timestamp = DateTime::createFromFormat("d.m.Y H:i", $_POST["datetime"]); echo $timestamp; // works! ?> 现在我有了一个表单,它有两个字段:日期和时间,分开 <?php $timestamp = DateTime::createFromFormat("d.m.Y", $_POST["date"]); echo $

我当前的代码:

<?php
    $timestamp = DateTime::createFromFormat("d.m.Y H:i", $_POST["datetime"]);
    echo $timestamp; // works!
?>

现在我有了一个表单,它有两个字段:日期和时间,分开

<?php
    $timestamp = DateTime::createFromFormat("d.m.Y", $_POST["date"]);
    echo $timestamp; // works!

    $timestamp = DateTime::createFromFormat("H:i", $_POST["time"]);
    echo $timestamp; // doesn't work (error below)!

    // Edit: 
    /* Fatal error: Call to a member function getTimestamp() on a non-object in */
?>

你不能。时间戳需要一个日期才能计算,但没有可用的日期。

如果您想从
$\u POST[“date”]
$\u POST[“time”]
获取日期和时间,请使用以下命令

DateTime::createFromFormat("d.m.Y H:i", $_POST["date"]." ".$_POST["time"]);
如果你想知道从午夜开始的特定时间的秒数,你可以使用这个

DateTime::createFromFormat("Ymd H:i", date("Ymd")." ".$_POST["time"]);
使用日期时间法

给予


第二个代码有什么问题?@Neal请查看我刚刚添加到帖子中的致命错误。谢谢这不是100%正确,
createFromFormat()
将在默认行为中将日期的其他字段设置为当前日期/时间(不带
|
格式修饰符)。看,就是这样。我因树木而错过了森林。我真丢脸!不正确,
DateTime::createFromFormat(“H:i”,“$\u POST[“time]”)将起作用,但不一定产生所需的结果。再见。@nickb谢谢。因此,它只能在5.3.x或更高版本上工作。我刚刚删除了声明。:)
$timestamp = \DateTime::createFromFormat("d.m.Y", '10.10.2012');
$timestamp->setTime(17,12);
var_dump($timestamp);
object(DateTime)#1142 (3) { ["date"]=> string(19) "2012-10-10 17:12:00" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }