PHP';s DateTime::format(';U';)返回从现在开始的时间戳,而不是从指定日期开始的时间戳?

PHP';s DateTime::format(';U';)返回从现在开始的时间戳,而不是从指定日期开始的时间戳?,php,datetime,format,timestamp,unix-timestamp,Php,Datetime,Format,Timestamp,Unix Timestamp,我有一个DateTime对象,用特定日期初始化: $inputString = '06102013'; $myDate = DateTime::createFromFormat('mdY', $inputString); 现在我想用不同的格式,用 $myFormat = 'd.m.Y'; $myDate->format($myFormat); 这对所有格式都非常有效,直到我说: $myFormat = 'U'; 然后$myDate->format('U')仅包含当前时间戳(调用函数的

我有一个DateTime对象,用特定日期初始化:

$inputString = '06102013';
$myDate = DateTime::createFromFormat('mdY', $inputString);
现在我想用不同的格式,用

$myFormat = 'd.m.Y';
$myDate->format($myFormat);
这对所有格式都非常有效,直到我说:

$myFormat = 'U';
然后
$myDate->format('U')仅包含当前时间戳(调用函数的实际时间)。但是在我的例子中,如何从原始输入日期获得时间戳,
$inputString

如果这很重要:我正在使用PHP5.3,但计划很快升级

编辑:忘了提那件事了

$myDate->getTimestamp();

还返回调用的时间,而不是创建
DateTime
对象的原始时间

时间戳的小时、分钟、秒部分将引用当前时间,是的,因为您的输入时间戳不包含此信息。PHP将在实例化时填充当前时间的空格。但是,时间戳的日、月和年部分表示您在我测试的任何PHP版本中的输入(请参见)。

请给出一个具体示例,我们可以在填写所有值的情况下运行它。我们无法从您显示的脱节片段中重现此问题。@deceze我为测试添加了一些真实值。我无法重现您所描述的内容:啊,是的,我应该更加小心地处理分日时间。。。谢谢你把它拼凑起来。看——在你的首字母里加一个感叹号就行了format@rjdown谢谢,这真的很有帮助。:)