Php 将DateTime转换为另一个DateTime
有人能给我解释一下这里发生了什么事吗Php 将DateTime转换为另一个DateTime,php,date,datetime,Php,Date,Datetime,有人能给我解释一下这里发生了什么事吗 <?php $date= \DateTime::createFromFormat("H:i:s", "17:30:23"); var_dump($date); $date = new DateTime('@' . $date->format('U')); var_dump($date); 我如何将时间从一个日期时间转移到另一个日期时间,使其完全相同? 我这样做是因为我有自己的Date类,它扩展了我需要使用的\DateTime,但我的源代码
<?php
$date= \DateTime::createFromFormat("H:i:s", "17:30:23");
var_dump($date);
$date = new DateTime('@' . $date->format('U'));
var_dump($date);
我如何将时间从一个日期时间转移到另一个日期时间,使其完全相同?
我这样做是因为我有自己的Date类,它扩展了我需要使用的\DateTime
,但我的源代码是一个常规的\DateTime
对象
在操作中:您只需将DateTime对象更改为位于同一时区。在本例中,我使用了UTC,因为Unix时间戳始终使用UTC:
$date= \DateTime::createFromFormat("H:i:s", "17:30:23");
$date->setTimezone(new DateTimeZone('UTC'));
var_dump($date);
$date = new DateTime('@' . $date->format('U'));
var_dump($date);
如果您想回到您的时区,请使用:
$date= \DateTime::createFromFormat("H:i:s", "17:30:23");
var_dump($date);
$date = new DateTime('@' . $date->format('U'));
$date->setTimezone(new DateTimeZone('Europe/Amsterdam'));
var_dump($date);
“我这样问是因为我有自己的Date类,它扩展了\DateTime”-然后您应该显示它。此外,这样做可能会产生一些意想不到的/不利的影响。它不会起任何作用。只有一个
\uu toString()
方法。不管怎么说,这并不重要,上面的例子使用了标准的\DateTime
类,但问题仍然存在。谢谢,这现在更有意义了!
$date= \DateTime::createFromFormat("H:i:s", "17:30:23");
var_dump($date);
$date = new DateTime('@' . $date->format('U'));
$date->setTimezone(new DateTimeZone('Europe/Amsterdam'));
var_dump($date);