如何使用PHP将日期转换为UTC午夜

如何使用PHP将日期转换为UTC午夜,php,Php,我试图将日期传递给hubspot,但它显示以下错误消息 [消息]=>1462127400是在协调世界时22:8:47.400,不是午夜 如何使用PHP将日期转换为UTC午夜格式UTC当前日期开始(午夜)的捷径: echo date_create( date('Y-m-d'), timezone_open( 'UTC' ) )->getTimestamp(); $timeStamp = 1458036300; $date = new DateTime( "@$timeStamp" );

我试图将日期传递给hubspot,但它显示以下错误消息 [消息]=>1462127400是在协调世界时22:8:47.400,不是午夜

如何使用PHP将日期转换为UTC午夜格式UTC当前日期开始(午夜)的捷径:

echo date_create( date('Y-m-d'), timezone_open( 'UTC' ) )->getTimestamp();
$timeStamp  = 1458036300;

$date = new DateTime( "@$timeStamp" );
#                      ↑ use @ to create a DateTime from timestamp
$date->modify( 'midnight' );
echo $date->format('Y-m-d H:i:s') . PHP_EOL;
echo $date->getTimestamp() . PHP_EOL;
将输出(现在是2016-04-02 10:22 UTC):

检查:

$date = date_create( date('Y-m-d'), timezone_open( 'UTC' ) );
echo $date->format('Y-m-d H:i:s') . PHP_EOL;
echo $date->getTimestamp() . PHP_EOL;
输出:

2016-04-02 00:00:00
1459555200
2016-03-15 00:00:00
1458000000
2016-03-15 00:00:00
1458000000
根据给定的日期字符串(即默认时区TOT)获取UTC日的开始时间:

输出:

2016-04-02 00:00:00
1459555200
2016-03-15 00:00:00
1458000000
2016-03-15 00:00:00
1458000000
单线方式:

echo date_create($dateString)->setTimezone(timezone_open('UTC'))->modify('midnight')->getTimestamp();
echo date_create("@$timeStamp")->modify('midnight')->getTimestamp();
根据给定的时间戳获取UTC日的开始时间:

echo date_create( date('Y-m-d'), timezone_open( 'UTC' ) )->getTimestamp();
$timeStamp  = 1458036300;

$date = new DateTime( "@$timeStamp" );
#                      ↑ use @ to create a DateTime from timestamp
$date->modify( 'midnight' );
echo $date->format('Y-m-d H:i:s') . PHP_EOL;
echo $date->getTimestamp() . PHP_EOL;
输出:

2016-04-02 00:00:00
1459555200
2016-03-15 00:00:00
1458000000
2016-03-15 00:00:00
1458000000
单线方式:

echo date_create($dateString)->setTimezone(timezone_open('UTC'))->modify('midnight')->getTimestamp();
echo date_create("@$timeStamp")->modify('midnight')->getTimestamp();

请注意,对于UNIX时间戳,我们不需要设置时区,因为UNIX时间戳是基于UTC的。

是否要将UNIX时间戳转换为当天午夜的UNIX时间戳?时间戳的单位是秒还是毫秒?