PHP 的 DateTime::format('U') returns 时间戳从现在开始,而不是从指定日期开始?
PHP's DateTime::format('U') returns timestamp from now, not from specified date?
我有一个用特定日期初始化的 DateTime 对象:
$inputString = '06102013';
$myDate = DateTime::createFromFormat('mdY', $inputString);
现在我想以不同的格式发布它,使用
$myFormat = 'd.m.Y';
$myDate->format($myFormat);
这对所有格式都适用,直到我说:
$myFormat = 'U';
然后$myDate->format('U');
只包含当前时间戳(调用函数的实际时间)。但是如何从原始输入日期获取时间戳,在我的例子中是 $inputString
?
如果这很重要:我正在使用 PHP 5.3,但计划尽快升级。
编辑:忘了说
$myDate->getTimestamp();
也是 returns 调用的时间,而不是创建 DateTime
对象的原始时间!
时间戳的时分秒部分会引用当前时间,是的,因为你输入的时间戳不包含这些信息。 PHP 填充实例化时当前时间的空白。但是,时间戳的日、月和年部分代表您在我测试的 PHP 任何版本中的输入(参见 http://3v4l.org/2Or6T)。
我有一个用特定日期初始化的 DateTime 对象:
$inputString = '06102013';
$myDate = DateTime::createFromFormat('mdY', $inputString);
现在我想以不同的格式发布它,使用
$myFormat = 'd.m.Y';
$myDate->format($myFormat);
这对所有格式都适用,直到我说:
$myFormat = 'U';
然后$myDate->format('U');
只包含当前时间戳(调用函数的实际时间)。但是如何从原始输入日期获取时间戳,在我的例子中是 $inputString
?
如果这很重要:我正在使用 PHP 5.3,但计划尽快升级。
编辑:忘了说
$myDate->getTimestamp();
也是 returns 调用的时间,而不是创建 DateTime
对象的原始时间!
时间戳的时分秒部分会引用当前时间,是的,因为你输入的时间戳不包含这些信息。 PHP 填充实例化时当前时间的空白。但是,时间戳的日、月和年部分代表您在我测试的 PHP 任何版本中的输入(参见 http://3v4l.org/2Or6T)。