php Datetime 对象返回具有 10 位数字的时间戳,而此方法需要时间戳中的毫秒。
确保时间戳具有 13 位数字。
(mongodb >=1.0.0)
MongoDB\BSON\UTCDateTime::toDateTime — 返回此 UTCDateTime 的 DateTime 表示
此函数没有参数。
示例 #1 MongoDB\BSON\UTCDatetime::toDateTime() 示例
<?php
$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
$datetime = $utcdatetime->toDateTime();
var_dump($datetime->format('r'));
var_dump($datetime->format('U.u'));
var_dump($datetime->getTimezone());
?>
上面的示例将输出类似于以下内容
string(31) "Thu, 20 Nov 2014 01:03:31 +0000" string(17) "1416445411.987000" object(DateTimeZone)#3 (2) { ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" }
// 将检索到的时间转换回本地时间
<?php
/********************构造函数**********************************/
$orig_date = new DateTime('2016-06-27 13:03:33');
$orig_date=$orig_date->getTimestamp();
$utcdatetime = new MongoDB\BSON\UTCDateTime($orig_date*1000);
/********************在 UTC 中检索时间**********************************/
$datetime = $utcdatetime->toDateTime();
$time=$datetime->format(DATE_RSS);
/********************将时间转换为本地时区*******************/
$dateInUTC=$time;
$time = strtotime($dateInUTC.' UTC');
$dateInLocal = date("Y-m-d H:i:s", $time);
echo $dateInLocal;
?>
输出:2016-06-27 13:03:33
$tz = new DateTimeZone('Asia/Kolkata'); // 更改您的时区
$date = date("Y-m-d h:i:sa"); // 当前日期
$a = new MongoDB\BSON\UTCDateTime(strtotime($date)*1000);
$datetime = $a->toDateTime();
echo '<pre>';print_r($datetime);echo '</pre>';
$datetime->setTimezone($tz); // 设置时区
$time=$datetime->format(DATE_ATOM); // (示例:2005-08-15T15:52:01+00:00)
echo "<br>". $time . "<br>";
输出
// datetime 对象的输出
DateTime 对象
(
[date] => 2016-08-09 14:57:06.000000
[timezone_type] => 1
[timezone] => +00:00
)
// 时间的输出
2016-08-09T20:27:06+05:30