$utcdatetime = new MongoDB\BSON\UTCDateTime($unixtimestamp * 1000);
(mongodb >=1.0.0)
MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
$milliseconds
= null
)milliseconds
(int|float|string|DateTimeInterface)Number of milliseconds since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970. This value may be provided as a 64-bit int. For compatibility on 32-bit systems, this parameter may also be provided as a float or string.
If the argument is a DateTimeInterface, the number of milliseconds since the Unix epoch will be derived from that value. Note that in versions of PHP versions before 7.1.0, DateTime and DateTimeImmutable objects constructed from the current time did not incorporate sub-second precision.
If this argument is null
, the current time will be used by default.
版本 | 说明 |
---|---|
PECL mongodb 1.2.0 |
The |
Example #1 MongoDB\BSON\UTCDateTime::__construct() example
<?php
var_dump(new MongoDB\BSON\UTCDateTime);
var_dump(new MongoDB\BSON\UTCDateTime(new DateTime));
var_dump(new MongoDB\BSON\UTCDateTime(1416445411987));
?>
以上例程的输出类似于:
object(MongoDB\BSON\UTCDateTime)#1 (1) { ["milliseconds"]=> string(13) "1484852905560" } object(MongoDB\BSON\UTCDateTime)#1 (1) { ["milliseconds"]=> string(13) "1484852905560" } object(MongoDB\BSON\UTCDateTime)#1 (1) { ["milliseconds"]=> string(13) "1416445411987" }
$utcdatetime = new MongoDB\BSON\UTCDateTime($unixtimestamp * 1000);
The problem with integer => string is only on 32 bit systems
For me to get it work with php 5.6 on an iis 7.5, it had to be a string
$utcdatetime = new MongoDB\BSON\UTCDateTime('1416445411987');