MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__constructCrea una nueva fecha

Descripción

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )

Crea una nueva fecha. Si no se proporciona ningún parámetro, se utilizará la hora actual.

Parámetros

sec

Número de segundos desde la época (es decir, 1 enero 1970 00:00:00.000 UTC).

usec

Microsegundos. Por favor, tenga en cuenta que la resolución de MongoDB es milisegundos y no microsegundos, lo que significa que este valor será truncado a la resolución de milisegundos.

Valores devueltos

Devuelve esta nueva fecha.

Ejemplos

Ejemplo #1 Ejemplo de MongoDate::__construct()

Este ejemplo muestra cómo crear una nueva fecha con la hora actual y una nueva fecha con la hora proporcionada.

<?php

$f 
= new MongoDate();
echo 
"$f\n";
$f = new MongoDate(1234567890);
echo 
"$f\n";
$f = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo 
"$f\n";

?>

El resultado del ejemplo sería algo similar a:

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Ver también

add a note add a note

User Contributed Notes 1 note

up
1
gb at tekkie dot ro
11 years ago
Please note that the second parameter should be a microseconds value, not a miliseconds one, as stated in the documentation.

I am using the code below to show you what I mean:
<?php
    $example
= new \DateTime('2013-09-22T10:41:44.451999');
   
$seconds = $example->getTimestamp();

   
// this is what documentation misleads you to think is needed
   
$miliseconds = floor($example->format('u') / 1000);

   
// this is what you should really use
   
$microseconds = $example->format('u');
   
$fullToString = $example->format('Y-m-d\TH:i:s.uP');

   
$collection->insert(array(
       
'timeMicroseconds' => new \MongoDate($seconds, $microseconds),
       
'toString' => $fullToString,
    ));
   
$collection->insert(array(
       
'timeMiliseconds' => new \MongoDate($seconds, $miliseconds),
       
'toString' => $fullToString,
    ));
?>

Let's take a look in the database to see what is really stored:
{
    "_id" : ObjectId("523f07cfc2b581eb7f069b1d"),
    "timeMicroseconds" : ISODate("2013-09-22T07:41:44.451Z"),
    "toString" : "2013-09-22T10:41:44.451999+03:00"
}

{
    "_id" : ObjectId("523f07cfc2b581eb7f069b1e"),
    "timeMiliseconds" : ISODate("2013-09-22T07:41:44.000Z"),
    "toString" : "2013-09-22T10:41:44.451999+03:00"
}
To Top